Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/scripting/StarUniverseServerLuaBindings.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-03-19 18:24:23 +1100
committerGitHub <noreply@github.com>2024-03-19 18:24:23 +1100
commite068172a0940f803e158025a1e147b1e3b61cc75 (patch)
tree4d49732fb35ab0f465cd90e8f0d85c2e783ba226 /source/game/scripting/StarUniverseServerLuaBindings.cpp
parent983bb82a96707ae81be5c35e7f9af700ade7d77e (diff)
parentb85637783352db64970722c904c702ef81a40635 (diff)
Merge pull request #43 from ErodeesFleurs/sendPacket
Add the Lua function for sending packet.
Diffstat (limited to 'source/game/scripting/StarUniverseServerLuaBindings.cpp')
-rw-r--r--source/game/scripting/StarUniverseServerLuaBindings.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/game/scripting/StarUniverseServerLuaBindings.cpp b/source/game/scripting/StarUniverseServerLuaBindings.cpp
index 4a6649b..8d0d0c8 100644
--- a/source/game/scripting/StarUniverseServerLuaBindings.cpp
+++ b/source/game/scripting/StarUniverseServerLuaBindings.cpp
@@ -21,6 +21,7 @@ LuaCallbacks LuaBindings::makeUniverseServerCallbacks(UniverseServer* universe)
callbacks.registerCallbackWithSignature<bool, String>("isWorldActive", bind(UniverseServerCallbacks::isWorldActive, universe, _1));
callbacks.registerCallbackWithSignature<StringList>("activeWorlds", bind(UniverseServerCallbacks::activeWorlds, universe));
callbacks.registerCallbackWithSignature<RpcThreadPromise<Json>, String, String, LuaVariadic<Json>>("sendWorldMessage", bind(UniverseServerCallbacks::sendWorldMessage, universe, _1, _2, _3));
+ callbacks.registerCallbackWithSignature<void, ConnectionId, String, Json>("sendPacket", bind(UniverseServerCallbacks::sendPacket, universe, _1, _2, _3));
return callbacks;
}
@@ -126,4 +127,10 @@ RpcThreadPromise<Json> LuaBindings::UniverseServerCallbacks::sendWorldMessage(Un
return universe->sendWorldMessage(parseWorldId(worldId), message, JsonArray::from(std::move(args)));
}
+void LuaBindings::UniverseServerCallbacks::sendPacket(UniverseServer* universe, ConnectionId clientId, String const& packetTypeName, Json const& args) {
+ auto packetType = PacketTypeNames.getLeft(packetTypeName);
+ auto packet = createPacket(packetType, args.toArray());
+ universe->sendPacket(clientId, packet);
+}
+
}