diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-04-02 13:11:42 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-02 13:11:42 +1100 |
commit | 40698751e79d119e1ae37ea605b320961d6b597a (patch) | |
tree | 9f1322f2f1f0588fe28dba62a0a4488855bfb0bd /source/game/StarWorldServer.cpp | |
parent | 14506b1014aa2e5cbc041ff7b6907c5f499a0e10 (diff) | |
parent | cf93c2e9d40a87408e02a0c78ee4d38159e9e133 (diff) |
Merge pull request #55 from ErodeesFleurs/sp
fixed the deadlock problem of universe.sendPacket and added world.sendPacket function
Diffstat (limited to 'source/game/StarWorldServer.cpp')
-rw-r--r-- | source/game/StarWorldServer.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/game/StarWorldServer.cpp b/source/game/StarWorldServer.cpp index ad3b555..95ec8c3 100644 --- a/source/game/StarWorldServer.cpp +++ b/source/game/StarWorldServer.cpp @@ -544,6 +544,11 @@ List<PacketPtr> WorldServer::getOutgoingPackets(ConnectionId clientId) { return std::move(clientInfo->outgoingPackets); } +void WorldServer::sendPacket(ConnectionId clientId, PacketPtr const& packet) { + if (auto const& clientInfo = m_clientInfo.get(clientId)) + clientInfo->outgoingPackets.append(packet); +} + Maybe<Json> WorldServer::receiveMessage(ConnectionId fromConnection, String const& message, JsonArray const& args) { Maybe<Json> result; for (auto& p : m_scriptContexts) { @@ -2084,7 +2089,7 @@ float WorldServer::lightLevel(Vec2F const& pos) const { } void WorldServer::setDungeonBreathable(DungeonId dungeonId, Maybe<bool> breathable) { - Maybe<float> current = m_dungeonIdBreathable.maybe(dungeonId); + Maybe<bool> current = m_dungeonIdBreathable.maybe(dungeonId); if (breathable != current) { if (breathable) m_dungeonIdBreathable[dungeonId] = *breathable; |