private void OpenInitialState() { /*if (PlayerHandler.Instance.Player.HasSeenIntroCutscene) * InitialState = SceneStateByType (UIStateType.Menu); * else * InitialState = SceneStateByType (UIStateType.Intro);*/ CurrentState = InitialState; StartCoroutine(ChangeScene(InitialState.StateScene)); FadePanel.gameObject.SetActive(true); FadePanel.alpha = 1; StartFadeBlackOut(); /*_currentStateTransitionIndex = SceneStateTransitionByType(targetState); * if (_currentStateTransitionIndex == -1) * { * Debug.Log("Target state " + targetState + " is not a valid transition from state " + CurrentState.State); * return; * } * * StartSwitchOutCurrentState();*/ }
private void StartSwitchingInNextState() { if (CurrentState.Transitions[_currentStateTransitionIndex].UseBlackFade) { StartFadeBlackOut(0.2f, 0f); onFadeBlackOutEnd += FinishFadingBlackOut; _runningTasks++; if (DebugOn) { Debug.Log("StartSwitchingInNextState Fade +1: " + _runningTasks); } } CurrentState = CurrentState.Transitions[_currentStateTransitionIndex].TargetState; if (onEnterStateStart != null) { onEnterStateStart(CurrentState.State); } FinishSwitchingInNextState(); }