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>(); }
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); }