public static void Init(GraphicsDevice graphics) { UnlockedTowers = 0; rnd = new Random(); UiManager.UiScreens.Clear(); UiSideScreen = new UiSideGameScreen(graphics); UiTopScreen = new UiTopGameScreen(graphics); WaveManager.Reset(); EnemyManager.Init(); EnemyListener.InitiliseListener(); TowerManager.Init(); TowerListener.InitiliseListener(); TroopManager.Init(); TroopListener.InitiliseListener(); QuestionPopUpManager.Init(); // CHEATY TEST !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! /*UnlockedTowers |= Unlocks.RocketTower; * UnlockedTowers |= Unlocks.SamTower; * UnlockedTowers |= Unlocks.TeslaTower; * UnlockedTowers |= Unlocks.Upgrade; * ModifyResources(100000); * for (int i = 0; i < 100; i++) * TroopManager.SpawnTroop();*/ }
/// <summary> /// Destroys enemies and cleans up references in other lists of said enemy /// </summary> public static void DestroyTroop(int total) { int totalKill = Troops.Count - 1 - total; for (int i = Troops.Count - 1; i > totalKill; i--) { string tid = Troops[i].troopID; TroopListener.RemoveTroop(tid); int index = Troops.FindIndex(item => string.Compare(item.troopID, tid, 0) == 0); if (index >= 0) { Troops.RemoveAt(index); } int index2 = TroopIDs.FindIndex(item => string.Compare(item, tid, 0) == 0); if (index2 >= 0) { TroopIDs.RemoveAt(index2); } } }