feat: add summon menu
This commit is contained in:
@@ -39,6 +39,7 @@ void ServerConnexion::registerHandlers() {
|
||||
GetDispatcher()->RegisterHandler(protocol::PacketType::SelectTeam, this);
|
||||
GetDispatcher()->RegisterHandler(protocol::PacketType::Disconnect, this);
|
||||
GetDispatcher()->RegisterHandler(protocol::PacketType::PlaceTower, this);
|
||||
GetDispatcher()->RegisterHandler(protocol::PacketType::SendMobs, this);
|
||||
}
|
||||
|
||||
bool ServerConnexion::updateSocket() {
|
||||
@@ -147,6 +148,7 @@ void ServerConnexion::HandlePacket(protocol::PlaceTowerPacket* packet) {
|
||||
game::TowerType towerType = packet->getTowerType();
|
||||
const game::TowerInfo& towerInfo = game::getTowerInfo(towerType);
|
||||
server::ServerWorld* world = m_Server->getGame().getServerWorld();
|
||||
|
||||
if (towerInfo.isBigTower()) {
|
||||
if (!world->CanPlaceBigTower({ packet->getTowerX(), packet->getTowerY() }, m_ID))
|
||||
return;
|
||||
@@ -161,6 +163,16 @@ void ServerConnexion::HandlePacket(protocol::PlaceTowerPacket* packet) {
|
||||
m_Server->broadcastPacket(&addTowerPacket);
|
||||
}
|
||||
|
||||
void ServerConnexion::HandlePacket(protocol::SendMobsPacket* packet) {
|
||||
const std::vector<protocol::MobSend>& mobSent = packet->getMobSends();
|
||||
|
||||
//TODO: verify the packet
|
||||
|
||||
for(protocol::MobSend mobSend : mobSent){
|
||||
m_Server->getGame().getServerWorld()->spawnMobs(mobSend.mobType, mobSend.mobLevel, m_ID, mobSend.mobCount);
|
||||
}
|
||||
}
|
||||
|
||||
ServerConnexion::~ServerConnexion() {
|
||||
if (GetDispatcher() != nullptr)
|
||||
GetDispatcher()->UnregisterHandler(this);
|
||||
|
||||
Reference in New Issue
Block a user