private void AppStateChange() { var state = AppStateMachine.OldState; if (SceneTransitions.ContainsKey(state) && SceneTransitions[state] != null && !string.IsNullOrEmpty(SceneTransitions[state].SceneName)) { SceneTransitionStateMachine.Fire(SceneTransitionState.TransitionFrom); } }
protected virtual void Init() { AppStateMachine.Fire(State); if (SceneTransitionStateMachine.CurrentState != SceneTransitionState.Idle) { SceneTransitionStateMachine.Fire(SceneTransitionState.TransitionTo); } }
private void Awake() { DontDestroyOnLoad(gameObject); DependencyManager.AddDependency <SceneManager>(this); SceneTransitions = SceneTransitionsInitial.GetDictionary(); AppStateMachine.Subscribe(AppState.SceneLoading, AppStateChange); SceneTransitionStateMachine.Subscribe(SceneTransitionState.Loading, TransitScene); }
private void OnDestroy() { SceneTransitionStateMachine.Unsubscribe(this); }