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

summaryrefslogtreecommitdiff
path: root/source/game/StarWorldServer.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-04-02 13:11:42 +1100
committerGitHub <noreply@github.com>2024-04-02 13:11:42 +1100
commit40698751e79d119e1ae37ea605b320961d6b597a (patch)
tree9f1322f2f1f0588fe28dba62a0a4488855bfb0bd /source/game/StarWorldServer.cpp
parent14506b1014aa2e5cbc041ff7b6907c5f499a0e10 (diff)
parentcf93c2e9d40a87408e02a0c78ee4d38159e9e133 (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.cpp7
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;