Server responds to barrier queries
This commit is contained in:
@@ -302,11 +302,17 @@ void ServerApplication::HandlePacket(SerialPacket* const argPacket) {
|
||||
hCharacterMovement(static_cast<CharacterPacket*>(argPacket));
|
||||
break;
|
||||
|
||||
//TODO: (1) merge character, creature & barrier queries & updates together?
|
||||
//creature management
|
||||
case SerialPacketType::QUERY_CREATURE_EXISTS:
|
||||
hQueryCreatureExists(static_cast<CreaturePacket*>(argPacket));
|
||||
break;
|
||||
|
||||
//barrier management
|
||||
case SerialPacketType::QUERY_BARRIER_EXISTS:
|
||||
hQueryBarrierExists(static_cast<BarrierPacket*>(argPacket));
|
||||
break;
|
||||
|
||||
//chat
|
||||
case SerialPacketType::TEXT_BROADCAST:
|
||||
hTextBroadcast(static_cast<TextPacket*>(argPacket));
|
||||
@@ -820,6 +826,27 @@ void ServerApplication::hQueryCreatureExists(CreaturePacket* const argPacket) {
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------
|
||||
//barrier management
|
||||
//-------------------------
|
||||
|
||||
//TODO: On barrier create, etc.
|
||||
|
||||
void ServerApplication::hQueryBarrierExists(BarrierPacket* const argPacket) {
|
||||
//respond with all barrier data
|
||||
BarrierPacket newPacket;
|
||||
|
||||
BarrierManager* barrierMgr = roomMgr.Find(argPacket->roomIndex)->GetBarrierMgr();
|
||||
|
||||
//TODO: (0) move this into the room class
|
||||
for (auto& it : *(barrierMgr->GetContainer()) ) {
|
||||
copyBarrierToPacket(&newPacket, &(it.second), it.first);
|
||||
newPacket.type = SerialPacketType::QUERY_BARRIER_EXISTS;
|
||||
newPacket.roomIndex = argPacket->roomIndex;
|
||||
network.SendTo(argPacket->srcAddress, static_cast<SerialPacket*>(&newPacket));
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------
|
||||
//chat
|
||||
//-------------------------
|
||||
|
||||
Reference in New Issue
Block a user