public static FleeingSheepState GetInstance() { if (instance == null) { instance = new FleeingSheepState(); } return(instance); }
public override void FixedUpdate(Sheep owner) { base.FixedUpdate(owner); ++owner.Hunger; if (Vector3.Distance(owner.Position, owner.GetSteering.ThreatTrans.position) < owner.GetSteering.settings.panicDist) { owner.GetFSM.ChangeState(FleeingSheepState.GetInstance()); } else if (owner.Hunger > owner.HungerDissatisfier) { owner.GetFSM.ChangeState(WanderingSheepState.GetInstance()); } }