Exemple #1
0
    public void SetState(UnitState unitState)
    {
        if (currentState != null)
        {
            currentState.OnStateExit();
        }

        currentState = unitState;

        if (currentState != null)
        {
            currentState.OnStateEnter();
        }
    }
Exemple #2
0
    public void ChangeState(UnitState nextState)
    {
        if (!IsBusy)
        {
            GridTile current = _currentState.CurrentTile;

            _currentState.OnStateExit();

            _currentState   = nextState;
            NextLoggedState = null;

            _currentState.CurrentTile = current;
            _currentState.OnStateEnter();
        }

        else
        {
            NextLoggedState = nextState;
        }
    }