private void StartSwitchOutCurrentState() { if (onExitStateStart != null) { onExitStateStart(CurrentState.State); } CurrentSceneState.onExitStateFinish += FinishExitingCurrentState; CurrentSceneState.ExitState(); _runningTasks++; if (DebugOn) { Debug.Log("StartSwitchOutCurrentState +1: " + _runningTasks); } if (CurrentState.Transitions[_currentStateTransitionIndex].UseBlackFade) { StartFadeBlackIn(0.2f, 0.3f); onFadeBlackInEnd += FinishFadingBlackIn; _runningTasks++; if (DebugOn) { Debug.Log("StartSwitchOutCurrentState Fade +1: " + _runningTasks); } } }
private void Start() { gimmickManager = GetComponent <GimmickManager>(); audioManager = GetComponent <AudioManagerComponent>(); CurrentSceneState.Subscribe(state => { OnStateChanged(state); }); playerLife .SkipLatestValueOnSubscribe() .Subscribe(x => { ChangeScene(SceneState.Life); }); }