private void ResetGame(Element bonusElement) { AnalyticsManager.GameReset(this, bonusElement); RangeObject.SetActive(false); Data.DecreaseCurrency(Data.GetCurrency()); foreach (var building in _sceneReferenceManager.AllAssignableBuildings) { building.EjectMageInside(); building.MenuOpen = false; building.StopHighlighting(); } UIManager.DestroyTowerMenuCloser(); BuildingMenuSpawner.OpenMenu = null; Data.DestroyMages(); MageButtons.ResetMageMenu(); WaveManager.Reset(); Data.ResetPlayer(bonusElement); AchievementManager.RegisterEvent(AchievementType.Reset, Data.GetResetAmount()); Data.InitializeMageDataArrayForStartup(_mageFactory); MageButtons.AddPlayerButton(); foreach (var mage in Data.GetMages()) { MageButtons.AddMageButton(mage); } InitializeMages(); }