예제 #1
0
        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();
        }