Exemple #1
0
        public void Update()
        {
            if (_currentState == null)
            {
                return;
            }

            /* SWITCH STATE IF NEEDED */
            if (_currentState.IsReadyForStateSwitch)
            {
                var previousState = _currentState;
                _currentState = _currentState.TargetSwitchState;

                _uiManager.ClearUi();
                previousState.TearDown();
                _unity.ResetDelayedActions();
                _currentState.Initialize();
            }

            /* UPDATE STATE */
            _currentState.Update();
            _currentState.HandleInput();
        }