protected void InitializeTree() { InitializeDialogue(dialogueTree.GetDialogue(dialogueTree.initial_dialogue_id)); listenerRegistry.DialogueTreeListeners["on_tree_begin"].ForEach(action => { action(this); }); }
/// <summary> /// On known option selected /// </summary> /// <param name="dialogueId"></param> /// <param name="optionId"></param> /// <param name="callback"></param> /// <returns></returns> public RuntimeBuilder OnOptionContinuing(string dialogueId, int optionNo, Action <DialogueRuntime, CurrentDialogue, OptionSelection> callback) { OptionEntity option = dialogueTree.GetDialogue(dialogueId).options[optionNo - 1]; if (!listenerRegistry.KnownOptionSelectionListeners.ContainsKey(option.id)) { listenerRegistry.KnownOptionSelectionListeners[option.id] = new List <Action <DialogueRuntime, CurrentDialogue, OptionSelection> >(); } listenerRegistry.KnownOptionSelectionListeners[option.id].Add(callback); return(this); }