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); } }
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()); }