Exemplo n.º 1
0
 void SetStateMachine()
 {
     sm = new StatesMachine();
     sm.Addstate(new StatesWander(sm));
     followState = new StatesFollow(sm, transform, _rb, FindObjectOfType <TrueDummyEnemy>().transform, animator, _rotSpeed, _distance, _speedMovement);
     sm.Addstate(followState);
     attackState = new StatesAttack(sm, animator, transform, FindObjectOfType <TrueDummyEnemy>().transform, _rotSpeed, _distance);
     sm.Addstate(attackState);
     sm.Addstate(new StatesPetrified(sm, _petrifiedTime));
     sm.ChangeState <StatesWander>();
 }
Exemplo n.º 2
0
    public float ChangeSpeed(float newSpeed)
    {
        //Si le mando negativo me devuelve la original
        //para guardarla en el componente WebSlowedComponent
        if (newSpeed < 0)
        {
            return(_speedMovement);
        }

        //Busco el estado follow para poder cambiarle la velocidad
        StatesFollow statesFollow = sm.GetState <StatesFollow>();

        if (statesFollow != null)
        {
            statesFollow.ChangeSpeed(newSpeed);
        }

        return(_speedMovement);
    }