示例#1
0
    public void AfficherRecap(Combat.RecapCombat recap, Combat combat, Evenement.Choix choix, UnityAction fonctionFuite)
    {
        if (!infoBulleBanniereJoueur)
        {
            infoBulleBanniereJoueur = banniereJoueur.GetComponent <InfoBulle>();
        }
        if (!infoBulleBanniereHostile)
        {
            infoBulleBanniereHostile = banniereHostile.GetComponent <InfoBulle>();
        }

        attaqueGuerrier.text = recap.attaqueGuerrier.ToString();
        defenseGuerrier.text = recap.defenseGuerrier.ToString();
        attaqueHostile.text  = recap.attaqueHostile.ToString();
        defenseHostile.text  = recap.defenseHostile.ToString();
        mortsGuerrier.text   = recap.mortsGuerrier.ToString();
        mortsHostile.text    = recap.mortsHostile.ToString();

        statsGuerrier.MAJStats(combat.Guerrier);
        statsHostile.MAJStats(combat.Hostile);

        banniereJoueur.sprite = combat.Guerrier.tribu.banniere.sprite;
        infoBulleBanniereJoueur.texteInfoBulle = combat.Guerrier.tribu.name;
        banniereHostile.sprite = combat.Hostile.pion.spriteRenderer.sprite;
        infoBulleBanniereHostile.texteInfoBulle = combat.Hostile.pion.name;

        AssignationChoix(choix);

        if (OptionsJeu.Defaut.modeCombatsSimplifies && combat.Hostile.nbrCombattant > 0 && combat.Guerrier.nbrGuerrier > 0)
        {
            choixFuite.onClick.RemoveAllListeners();
            choixFuite.onClick.AddListener(fonctionFuite);
            choixFuite.onClick.AddListener(InterfaceEvenement.Defaut.FermerFenetreEvenement);
            choixFuite.onClick.AddListener(combat.joueurFuit);
            choixFuite.gameObject.SetActive(true);
        }
        else
        {
            choixFuite.gameObject.SetActive(false);
        }
    }
示例#2
0
    public void OuvrirRecapCombat(Combat.RecapCombat recap, Combat combat)
    {
        StartCoroutine(VerifierEvenementFini());
        fondNoir.gameObject.SetActive(true);
        recapCombat.gameObject.SetActive(true);
        Evenement.Choix choix = new Evenement.Choix("", "");
        choix.effets.AddListener(FermerFenetreEvenement);
        choix.effets.AddListener(() => combat.Guerrier.tribu.demographie.DesengagerGuerrier(true, recap.mortsGuerrier));
        if (combat.Hostile.nbrCombattant > 0 && combat.Guerrier.nbrGuerrier > 0)
        {
            if (recap.ennemiFuit)
            {
                choix.description = "L'ennemi est démoralisé et fuit !";
                choix.effets.AddListener(combat.EnnemiFuit);
                choix.infobulle = "L'ennemi perd la volonté de se battre";
            }
            else
            {
                choix.description = "Le combat continue";
                if (!OptionsJeu.Defaut.modeCombatsSimplifies)
                {
                    choix.effets.AddListener(ListeEvenementCombat.Defaut.PiocherEvenement(combat).LancerEvenement);
                }
                else
                {
                    choix.effets.AddListener(combat.LancerCombat);
                }
                choix.infobulle = "Pouvons-nous vraiment continuer ce combat ?";
            }
        }
        else
        {
            if (combat.Hostile.nbrCombattant == 0 && combat.Guerrier.nbrGuerrier == 0)
            {
                choix.description = "C'est un carnage";
                choix.infobulle   = "Les deux camps ont été anéhantis dans l'affrontement";
            }
            else if (combat.Hostile.nbrCombattant == 0)
            {
                choix.description = "Nous avons gagné !";
                choix.effets.AddListener(combat.looterEnnemi);
                choix.infobulle = "L'unitée ennemie est détruite";
                for (int i = 0; i < combat.Hostile.loot.gains.Length; i++)
                {
                    if (combat.Hostile.loot.gains[i] > 0)
                    {
                        choix.infobulle += "\n<color=#" + ColorUtility.ToHtmlStringRGBA(ListeCouleurs.Defaut.couleurTexteBonus) + ">+"
                                           + combat.Hostile.loot.gains[i] + "<color=\"white\"> " + ListeRessources.Defaut.listeDesRessources[i].nom;
                    }
                }
            }
            else if (combat.Guerrier.nbrGuerrier == 0)
            {
                choix.description = "Nous avons perdu !";
                choix.infobulle   = "Tous nos guerriers sont morts...\nNous aurions peut-être dû fuir avant";
            }
        }

        if (combat.Hostile.pion.revendication.EstPillard)
        {
            recapCombat.illustration.sprite = illuPillard;
        }
        else if (combat.Hostile.pion.revendication.EstPredateur)
        {
            recapCombat.illustration.sprite = illuPredateur;
        }
        else if (combat.Hostile.pion.revendication.EstMegaFaune)
        {
            recapCombat.illustration.sprite = illuMegaFaune;
        }

        recapCombat.AfficherRecap(recap, combat, choix, () => combat.Guerrier.tribu.demographie.DesengagerGuerrier(true, recap.mortsGuerrier));
        StartCoroutine(MAJCanvas());
    }