protected override bool onUpdate(float deltaTime) { Animal a = getAnimal(); cptNouvelleTrajectoire -= deltaTime; bool demiTour = false; if (a as LoupInferieur != null) { LoupInferieur loupInf = (LoupInferieur)a; float distanceFromAlpha = Vector2.Distance(a.transform.position, LoupInferieur.alpha.transform.position); if (distanceFromAlpha > loupInf.distanceAlpha) { dontMove = false; demiTour = true; a.faceTo(LoupInferieur.alpha.transform.position); cptNouvelleTrajectoire = -cptNouvelleTrajectoire + Random.Range(2, 30); } } if (!demiTour && cptNouvelleTrajectoire <= 0) { dontMove = false; if (Random.Range(1, 5) == 1) { dontMove = true; cptNouvelleTrajectoire = -cptNouvelleTrajectoire + Random.Range(1, 13); } else { a.direction = Random.Range(0, 360); cptNouvelleTrajectoire = -cptNouvelleTrajectoire + Random.Range(2, 30); } } time += deltaTime; while (time >= 0.04f) { if (!dontMove) { a.wiggle(vitesse, 2); } time -= 0.04f; } return(true); }
public MindLoupInferieur(LoupInferieur agent) : base(agent) { }