feat: add basic towers rendering

This commit is contained in:
2021-09-26 18:19:00 +02:00
parent 2ece5bc9b5
commit fe7cfdec72
22 changed files with 230 additions and 58 deletions

View File

@@ -21,6 +21,7 @@ m_WorldRenderer(&m_WorldClient, this) {
GetDispatcher()->RegisterHandler(protocol::PacketType::UpdateMoney, this);
GetDispatcher()->RegisterHandler(protocol::PacketType::Disconnect, this);
GetDispatcher()->RegisterHandler(protocol::PacketType::WorldData, this);
GetDispatcher()->RegisterHandler(protocol::PacketType::WorldAddTower, this);
}
ClientGame::~ClientGame() {
@@ -71,11 +72,11 @@ void ClientGame::HandlePacket(protocol::UpdatePlayerTeamPacket* packet) {
getTeam(packet->getSelectedTeam()).addPlayer(player);
} else if (packet->getSelectedTeam() == game::TeamColor::None) { // leave a team
getTeam(player->getTeamColor()).removePlayer(player);
player->setTeamColor(game::TeamColor::None);
} else { // change team
getTeam(player->getTeamColor()).removePlayer(player);
getTeam(packet->getSelectedTeam()).addPlayer(player);
}
player->setTeamColor(packet->getSelectedTeam());
}
void ClientGame::HandlePacket(protocol::UpdateGameStatePacket* packet) {
@@ -116,5 +117,9 @@ void ClientGame::PlaceTower(game::TowerType type, const glm::vec2& position) {
m_Client->getConnexion().sendPacket(&packet);
}
void ClientGame::HandlePacket(protocol::WorldAddTowerPacket* packet){
m_WorldRenderer.addTower(m_WorldClient.placeTowerAt(packet->getTowerID(), packet->getTowerType(), packet->getTowerX(), packet->getTowerY(), packet->getBuilder()));
}
} // namespace client
} // namespace td