public override void Action() { Automate_Gardien automate = _automate as Automate_Gardien; _temps++; if (_temps == 45) { //Relance automate.Joueur.ConvoiteSouafle = true; Player cible = null; float minDist = -1; foreach (Player p in GameObject.FindObjectsOfType <Player>()) { if (p.Joueur.Poste == Poste.POURSUIVEUR && p.Joueur.Club == automate.Joueur.Joueur.Club) { //Passe au plus près, il faudrait que ça soit au plus démarqué float dist = Math.Abs(Vector3.Distance(automate.Joueur.transform.position, p.transform.position)); if (cible == null || dist < minDist) { cible = p; } } } Souafle.Objet.GetComponent <Souafle>().Lacher(); Souafle.Objet.transform.GetComponent <Rigidbody>().velocity = Deplacement.Direction(automate.Joueur.transform.position, cible.transform.position, 50); } }
public override Etat Suivant() { Automate_Gardien automate = base._automate as Automate_Gardien; Etat res = this; if (Souafle.Objet.transform.parent == automate.Joueur.transform) { res = new Etat_Gardien_Relancer(automate); } return(res); }
public override Etat Suivant() { Automate_Gardien automate = _automate as Automate_Gardien; Etat res = this; if (Souafle.Possesseur != automate.Joueur.gameObject) { res = new Etat_Gardien_Surveiller(automate); } return(res); }
public Etat_Gardien_Relancer(IAutomate automate) : base(automate) { Automate_Gardien a = _automate as Automate_Gardien; a.Joueur.ConvoiteSouafle = false; a.Joueur.GetComponent <Rigidbody>().velocity = Vector3.zero; if (a.Joueur.Joueur.Club == Match.LeMatch.Equipe2) { JouerSon(); } }
public override void Action() { Automate_Gardien automate = base._automate as Automate_Gardien; automate.Joueur.transform.LookAt(Souafle.Objet.transform); //Regarde le souafle Vector3 dest = Souafle.Objet.transform.position; dest.z = automate.Joueur.transform.position.z; Vector3 direction = Deplacement.Direction(automate.Joueur.transform.position, dest, automate.Joueur.Joueur.Vitesse); automate.Joueur.Rigidbody.velocity = direction; }
public Etat_Gardien_Surveiller(IAutomate automate) : base(automate) { Automate_Gardien a = _automate as Automate_Gardien; a.Joueur.ConvoiteSouafle = true; }