diff options
author | ErodeesFleurs <3353309908@qq.com> | 2024-03-19 12:46:50 +0800 |
---|---|---|
committer | ErodeesFleurs <3353309908@qq.com> | 2024-03-19 12:46:50 +0800 |
commit | b85637783352db64970722c904c702ef81a40635 (patch) | |
tree | 06d224f39f95dc17249af4e7727a5ba1e01bce16 /source/game/scripting/StarUniverseServerLuaBindings.cpp | |
parent | 17ea975970d8f2be994bb1c8e7646f9c8a6c4647 (diff) |
add sendPacket lua context
Diffstat (limited to 'source/game/scripting/StarUniverseServerLuaBindings.cpp')
-rw-r--r-- | source/game/scripting/StarUniverseServerLuaBindings.cpp | 7 |
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); +} + } |