protected void OnEnable() { HappinessCollector.Initialize(); PlayerData.Create(); s_Instance = this; m_ConsumableDatabase.Load(); // We build a dictionnary from state for easy switching using their name. m_StateDict.Clear(); if (states.Length == 0) { return; } for (int i = 0; i < states.Length; ++i) { states[i].manager = this; m_StateDict.Add(states[i].GetName(), states[i]); } m_StateStack.Clear(); PushState(states[0].GetName()); }
public override void Enter(AState from) { m_CountdownRectTransform = countdownText.GetComponent <RectTransform>(); m_LifeHearts = new Image[k_MaxLives]; for (int i = 0; i < k_MaxLives; ++i) { m_LifeHearts[i] = lifeRectTransform.GetChild(i).GetComponent <Image>(); } if (MusicPlayer.instance.GetStem(0) != gameTheme) { MusicPlayer.instance.SetStem(0, gameTheme); CoroutineHandler.StartStaticCoroutine(MusicPlayer.instance.RestartAllStems()); } m_AdsInitialised = false; m_GameoverSelectionDone = false; HappinessCollector.Start(); StartGame(); }
IEnumerator WaitForGameOver() { m_Finished = true; trackManager.StopMove(); // Reseting the global blinking value. Can happen if game unexpectly exited while still blinking Shader.SetGlobalFloat("_BlinkingValue", 0.0f); yield return(new WaitForSeconds(2.0f)); HappinessCollector.Stop(new Dictionary <string, string> { ["score"] = trackManager.score.ToString() }); if (currentModifier.OnRunEnd(this)) { //if (trackManager.isRerun) manager.SwitchState("GameOver"); //else // OpenGameOverPopup(); } }