protected void InitializeDialogue(DialogueEntity dialogue) { List <string> texts; if (dialogue.textContinuity) { texts = new List <string>(dialogue.texts); } else { texts = new List <string>() { dialogue.texts[random.Next(0, dialogue.texts.Count)] } }; CurrentDialogue currentDialogue = new CurrentDialogue(dialogueTree, dialogue, texts, variables); listenerRegistry.DialogueGeneralListeners["on_initialization"].ForEach(action => { action(this, currentDialogue); }); if (listenerRegistry.DialogueSpecificListeners["on_initialization"].ContainsKey(dialogue.id)) { listenerRegistry.DialogueSpecificListeners["on_initialization"][dialogue.id].ForEach(action => { action(this, currentDialogue); }); } this.currentDialogue = currentDialogue; DialogueReadyListenersCall(dialogue); return; }
public DialogueRuntime End() { currentDialogue = null; listenerRegistry.DialogueTreeListeners["on_tree_finished"].ForEach(action => { action(this); }); return(null); }