Esempio n. 1
0
    private IEnumerator DeroulerTour()
    {
        hostile.TrouverCiblesAPortee();

        while (ptsDeplacement > 0 || hostile.PeutAttaquer)
        {
            //print(hostile.PeutAttaquer);
            if (hostile.PeutAttaquer)
            {
                StartCoroutine(hostile.Attaquer());
            }
            else
            {
                if (!tribuCible || entetement <= 0)
                {
                    entetement = entetementDefaut;
                    tribuCible = TrouverTribuPlusProche();
                }

                chemin = pathFinder.TrouverCheminPlusCourt(tuileActuelle, tribuCible.tuileActuelle, peutEmbarquer);

                StartCoroutine(SeDeplacer());
            }

            yield return(new WaitUntil(() => aFaitUneAction));

            aFaitUneAction = false;
        }

        aPasseSonTour = true;
    }
Esempio n. 2
0
    private IEnumerator DeroulerTour()
    {
        if (predateur)
        {
            hostile.TrouverCiblesAPortee();
        }
        while (migration.PeutBouger || (predateur && hostile.PeutAttaquer))
        {
            if (predateur && hostile.PeutAttaquer)
            {
                StartCoroutine(hostile.Attaquer());
            }
            else
            {
                if (Calendrier.Actuel.Hiver)
                {
                    StartCoroutine(migration.Migrer());
                }
            }

            yield return(new WaitUntil(() => aFaitUneAction));

            aFaitUneAction = false;
        }

        aPasseSonTour = true;
    }