예제 #1
0
        public void AfficherEtape(EtapeDialogue etape, bool etapeSecondaire = false)
        {
            if (etapeSecondaire == false)
            {
                etapeIndex++;
            }
            Popup popupAfficher = popupManager._PopupDialogue;

            popupManager.AjouterDemandePopup(() => {
                popupManager.AfficherPopup(popupAfficher);
                ((PopupDialogue)popupAfficher).ChangerTexte(etape);
                popupAfficher.OnPopupFermer.AddListener((choix) => {
                    Debug.Log("Prochaine étape, choix: " + choix);
                    if (choix == -1 || etape.choix == null)
                    {
                        if (etapeIndex < etapes.Count)
                        {
                            AfficherEtape(etapes[etapeIndex]);
                        }
                        else // Fin dialogue, car plus aucunes étapes restantes
                        {
                            OnDialogueFin.Invoke();
                            OnDialogueFin.RemoveAllListeners();
                        }
                    }
                    else if (choix == 0)
                    {
                        AfficherEtape(etape.choix.dialogueChoix1, true);
                    }
                    else if (choix == 1)
                    {
                        AfficherEtape(etape.choix.dialogueChoix2, true);
                    }
                });
            });
            //popupManager.AfficherProchainPopup();
        }