// PRAGMA MARK - Public Interface public void Init(Action playAgainCallback, Action goToMainMenuCallback) { playAgainCallback_ = playAgainCallback; goToMainMenuCallback_ = goToMainMenuCallback; playAgainView_ = CornerDelayedActionView.Show("PLAY ANOTHER ROUND", CornerPoint.BottomRight, ActionType.Positive, () => { if (playAgainCallback_ != null) { playAgainCallback_.Invoke(); playAgainCallback_ = null; } }); backToMainMenuView_ = CornerDelayedActionView.Show("BACK TO MAIN MENU", CornerPoint.BottomLeft, ActionType.Negative, () => { if (goToMainMenuCallback_ != null) { goToMainMenuCallback_.Invoke(); goToMainMenuCallback_ = null; } }); unlockedGameModesText_.SetActive(false); if (GameModesProgression.HasLockedGameModes()) { unlockedGameModesText_.Text = string.Format("<size=33><b>{0}/{1}</b></size> GAME MODES UNLOCKED!", GameModesProgression.FilterByUnlocked(GameConstants.Instance.GameModes).Count(), GameConstants.Instance.GameModes.Length); unlockedGameModesText_.SetActive(true); } }
protected override void OnStateEntered() { LobbyArenaLoaded = false; RegisteredPlayersUtil.UnregisterAIPlayers(); RegisteredPlayers.BeginPlayerRegistration(); PlayerCustomizationView.Show(Continue); InGameConstants.BattlePlayerPartsFade = true; PlayerSpawner.ShouldRespawn = true; delayedBackToMainMenuView_ = CornerDelayedActionView.Show("BACK TO MAIN MENU", CornerPoint.TopLeft, ActionType.Negative, GoBack); // in case where no players to customize - continue if (RegisteredPlayers.AllPlayers.Count <= 0) { Continue(); return; } else { ArenaManager.Instance.AnimateLoadArena(GameConstants.Instance.PlayerCustomizationLobbyArena, callback: () => { LobbyArenaLoaded = true; }); } }
protected override void OnStateEntered() { view_ = ObjectPoolManager.CreateView <LevelSelectView>(GamePrefabs.Instance.LevelSelectViewPrefab); view_.Init(HandleLevelSelected); delayedBackToMainMenuView_ = CornerDelayedActionView.Show("BACK TO MAIN MENU", CornerPoint.TopLeft, ActionType.Negative, GoBack); delayedBackToMainMenuView_.SetInputs(InputUtil.AllInputs); }
protected override void OnStateExited() { if (view_ != null) { view_.AnimateOutAndRecycle(); view_ = null; } if (delayedBackToMainMenuView_ != null) { delayedBackToMainMenuView_.AnimateOutAndRecycle(); delayedBackToMainMenuView_ = null; } }
protected override void OnStateExited() { BattleRecyclables.Clear(); PlayerSpawner.CleanupAllPlayers(); InGameConstants.BattlePlayerPartsFade = false; PlayerSpawner.ShouldRespawn = false; LobbyArenaLoaded = false; PlayerCustomizationView.Hide(); RegisteredPlayers.FinishPlayerRegistration(); StatsManager.ClearAllStats(); if (delayedBackToMainMenuView_ != null) { delayedBackToMainMenuView_.AnimateOutAndRecycle(); delayedBackToMainMenuView_ = null; } }