public void OnUpdate() { var lgt = GameObject.FindObjectOfType <LevelGridType>(); if (lgt == null) { // That is not a playable level so no need to runn things return; } // Early Update if (player.isDead) { owner.SetState(new LevelLost(owner)); return; } if (GameStateManager.Instance.objectivesQueue.OnUpdate()) { owner.SetState(new LevelWon(owner)); return; } // Update TurnManager.Instance.OnUpdate(); foreach (var actor in GameStateManager.Instance.AllActors) { actor.OnUpdate(); } // Late Update TurnManager.Instance.OnLateUpdate(); HandleInput(); }
public void OnUpdate() { // If animation ready to load level if (loadingScreen.finAppearAnim && shouldLoadScene) { shouldLoadScene = false; SceneManager.LoadScene(GameStateManager.Instance.sceneIndex); } if (loadingSceneFinished) { loadingSceneFinished = false; loadingScreen.EndLoadingScreen(); } // When animation finished if (loadingScreen.finDisappearAnim) { // Unbind sceneListener SceneManager.sceneLoaded -= OnSceneLoaded; owner.SetState(new LevelRunning(owner)); } }