private void OnAllActionsCompleted(string transitionId = null) { _currentActionState = null; if (!string.IsNullOrEmpty(transitionId)) { GameStateManager.Instance.HandleTransition(transitionId); } }
private void PerformNextStateExitAction() { if (_currentIndex >= _onStateExitGameActions.Count) { OnAllActionsCompleted(); return; } ConfigurableGameAction gameAction = _onStateExitGameActions[_currentIndex]; _currentIndex++; _currentActionState = gameAction.CreateActionState(); _currentActionState.OnComplete += OnStateExitActionCompleted; _currentActionState.Execute(); }