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);
                }
            }
        }
Example #2
0
    private void Start()
    {
        gimmickManager = GetComponent <GimmickManager>();
        audioManager   = GetComponent <AudioManagerComponent>();

        CurrentSceneState.Subscribe(state =>
        {
            OnStateChanged(state);
        });

        playerLife
        .SkipLatestValueOnSubscribe()
        .Subscribe(x =>
        {
            ChangeScene(SceneState.Life);
        });
    }