public override void Enter() { FactionManager.NeutralUnitCount = 0; MaxTimer = 500; do { if (WaveManager.CurrentTeamCount != -1) { BarTeam TopBar = OverTeamBar.BarTeams[0]; TopBar.ListTargetPosition = FactionManager.TeamCount - 1; for (int i = 1; i < OverTeamBar.BarTeams.Count; i++) { OverTeamBar.BarTeams[i - 1] = OverTeamBar.BarTeams[i]; OverTeamBar.BarTeams[i].ListTargetPosition--; } OverTeamBar.BarTeams[OverTeamBar.BarTeams.Count - 1] = TopBar; } WaveManager.ActiveTeam = OverTeamBar.BarTeams[0].Team; }while (FactionManager.TeamDead.ContainsKey(WaveManager.ActiveTeam) && FactionManager.TeamDead[WaveManager.ActiveTeam]); WaveManager.CurrentTeamCount++; if (!FactionManager.TeamStreak.ContainsKey(WaveManager.ActiveTeam)) { FactionManager.TeamStreak.Add(WaveManager.ActiveTeam, 0); } else { FactionManager.TeamStreak[WaveManager.ActiveTeam]++; } if (WaveManager.CurrentTeamCount > FactionManager.TeamCount - 1) { WaveManager.CurrentTeamCount = 0; WaveManager.CurrentWaveEvent += WaveManager.GameSpeed; if (WaveManager.CurrentWaveEvent > 1) { WaveManager.NewWave(GameManager.GetLevel().getCurrentScene()); WaveManager.CurrentWaveEvent = 0; } } Timer = 0; MaxTimer = 2000; PathFindingManager.Rebuild(); base.Enter(); }