Déclencher le dialogue

La zone de déclenchement de dialogue (pas très visible en bleu clair)…

Dans le premier test de dialogue que j’avais fait, le dialogue était démarré automatiquement au chargement de la scène. A présent, le but était de faire en sorte qu’il s’affiche lorsque le personnage passe dans certaines zones.

Dans le système de dialogue que j’ai mis en place, un node Dialog est lié à un fichier json qui contient tous les dialogues utilisés dans le niveau.
Il y a donc une fonction de ce node qui déclenche l’envoi du dialogue et qui prend en paramètre l’index de celui-ci.

La zone de déclenchement prend en paramètres l’index du dialogue à lancer et un booléen One Shot qui dit que le dialogue ne doit être déclenché qu’une seule fois, et pas à chaque passage dans la zone.

Il y a un problème qui s’est présenté lors du premier test, plusieurs dialogues étaient susceptibles de s’afficher simultanément ce qui pouvait les rendre illisibles s’ils étaient au même endroit.
J’ai résolu ce problème en créant une file d’attente pour les dialogues. En gros, si un dialogue est déclenché pendant qu’un autre dialogue est en train d’être lu, il est ajouté à la file d’attente et sera lu automatiquement après la fin du dialogue en cours.
Le même dialogue ne peux pas figurer plus d’une fois dans la file d’attente

Le dialogue de la zone centrale peut se déclencher plusieurs fois, celui du bout une seule…

Tout le code source du projet se trouve sur GitHub.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *