send team update after restart

This commit is contained in:
2023-08-14 18:41:51 +02:00
parent 7ab8c79fdf
commit dbe91b52fd
3 changed files with 14 additions and 1 deletions

View File

@@ -23,6 +23,8 @@ public:
ServerWorld* GetServerWorld() { return &m_ServerWorld; }
virtual void Tick(std::uint64_t delta);
virtual void Reset() override;
void StartGame();
// GameListener

View File

@@ -42,7 +42,7 @@ public:
virtual void Tick(std::uint64_t delta);
void Reset();
virtual void Reset();
Team& GetRedTeam() { return m_Teams[static_cast<std::uint8_t>(TeamColor::Red)]; }
const Team& GetRedTeam() const { return m_Teams[static_cast<std::uint8_t>(TeamColor::Red)]; }

View File

@@ -100,6 +100,17 @@ void ServerGame::BalanceTeams() {
}
}
void ServerGame::Reset() {
Game::Reset();
// update players teams to none
for (auto& playerInfo : m_Players) {
game::Player& player = playerInfo.second;
protocol::UpdatePlayerTeamPacket packet(player.GetID(), player.GetTeamColor());
m_Server->BroadcastPacket(&packet);
}
}
void ServerGame::OnGameStateUpdate(game::GameState newState) {
SetGameState(newState);
protocol::UpdateGameStatePacket packet(newState);