refactor: tower add event processing

This commit is contained in:
2021-12-04 13:44:34 +01:00
parent cf9633c061
commit 2da0bd9b79
8 changed files with 30 additions and 14 deletions

View File

@@ -7,6 +7,7 @@ namespace td {
namespace client {
WorldClient::WorldClient(ClientGame* game) : game::World(game), protocol::PacketHandler(game->GetDispatcher()), m_Game(game) {
GetDispatcher()->RegisterHandler(protocol::PacketType::WorldAddTower, this);
GetDispatcher()->RegisterHandler(protocol::PacketType::WorldBeginData, this);
GetDispatcher()->RegisterHandler(protocol::PacketType::WorldData, this);
GetDispatcher()->RegisterHandler(protocol::PacketType::SpawnMob, this);
@@ -32,5 +33,11 @@ void WorldClient::HandlePacket(const protocol::UpgradeTowerPacket* packet) {
tower->upgrade(packet->getTowerLevel().getLevel(), packet->getTowerLevel().getPath());
}
void WorldClient::HandlePacket(const protocol::WorldAddTowerPacket* packet) {
game::TowerPtr newTower = placeTowerAt(packet->getTowerID(), packet->getTowerType(), packet->getTowerX(), packet->getTowerY(), packet->getBuilder());
notifyListeners(&WorldListener::OnTowerAdd, newTower);
}
} // namespace client
} // namespace td