public void OnSquadDefeated(int DefeatedSquadPlayerIndex, Squad DefeatedSquad) { bool HumanPlayersLost = true; foreach (Player ActivePlayer in Owner.ListPlayer) { if (ActivePlayer.IsPlayerControlled && ActivePlayer.IsAlive) { ActivePlayer.IsAlive = false; foreach (Squad ActiveSquad in ActivePlayer.ListSquad) { if (!ActiveSquad.IsDead) { HumanPlayersLost = false; ActivePlayer.IsAlive = true; break; } } } } for (int i = 0; HumanPlayersLost && i < Owner.ListSubMap.Count; i++) { DeathmatchMap ActiveMap = (DeathmatchMap)Owner.ListSubMap[i]; foreach (Player ActivePlayer in ActiveMap.ListPlayer) { if (ActivePlayer.IsPlayerControlled && ActivePlayer.IsAlive) { ActivePlayer.IsAlive = false; foreach (Squad ActiveSquad in ActivePlayer.ListSquad) { if (!ActiveSquad.IsDead) { HumanPlayersLost = false; ActivePlayer.IsAlive = true; break; } } } } } if (HumanPlayersLost) { Owner.PushScreen(new GameOverMenu()); } }
public void OnManualVictory() { List <LobbyVictoryScreen.PlayerGains> ListGains = new List <LobbyVictoryScreen.PlayerGains>(); foreach (Player ActivePlayer in Owner.ListAllPlayer) { LobbyVictoryScreen.PlayerGains NewGains = new LobbyVictoryScreen.PlayerGains(); NewGains.Exp = 100; NewGains.Money = 100; ListGains.Add(NewGains); } LobbyVictoryScreen NewLobbyVictoryScreen = new LobbyVictoryScreen(Owner, ListGains); Owner.PushScreen(NewLobbyVictoryScreen); }