balance team on player join

This commit is contained in:
2023-08-14 18:54:36 +02:00
parent dbe91b52fd
commit d1aa5cd8aa
3 changed files with 9 additions and 0 deletions

View File

@@ -33,6 +33,8 @@ public:
virtual void OnGameBegin() override;
virtual void OnGameEnd() override;
virtual void OnGameClose() override;
virtual void OnPlayerJoin(game::PlayerID id) override;
private:
void BalanceTeams();
void InitPlayerStats();

View File

@@ -115,6 +115,8 @@ void ServerConnexion::HandlePacket(const protocol::PlayerLoginPacket* packet) {
protocol::PlayerListPacket listPacket(playerNames);
SendPacket(&listPacket);
m_Server->GetGame().NotifyListeners(&game::GameListener::OnPlayerJoin, m_ID);
}
}

View File

@@ -134,5 +134,10 @@ void ServerGame::OnGameClose() {
m_Server->Restart();
}
void ServerGame::OnPlayerJoin(game::PlayerID id){
if (m_GameState == game::GameState::Game)
BalanceTeams();
}
} // namespace game
} // namespace td