Esempio n. 1
0
 public static FleeingSheepState GetInstance()
 {
     if (instance == null)
     {
         instance = new FleeingSheepState();
     }
     return(instance);
 }
Esempio n. 2
0
    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());
        }
    }