Exemplo n.º 1
0
    public override State Next()
    {
        State res = this;

        if (_stateMachine.animal.isHungry())
        {
            res = new StateHungry(_stateMachine);
        }
        else if (_stateMachine.animal.isSad())
        {
            res = new StateSad(_stateMachine);
        }
        else if (Vector3.Distance(_stateMachine.animal.transform.position, _game.transform.position) < 5)
        {
            res = new StateNearPlayer(_stateMachine);
        }
        else if (Random.Range(0, 600) == 1)
        {
            res = new StateSleeping(_stateMachine);
        }
        else if (Random.Range(0, 600) == 5)
        {
            res = new StateDrinking(_stateMachine);
        }

        return(res);
    }
    private StateDrinking()
    {
        if (_instance != null)
        {
            return;
        }

        _instance = this;
    }