Exemplo n.º 1
0
    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);
    }
Exemplo n.º 3
0
    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);
    }
Exemplo n.º 4
0
    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;
    }