示例#1
0
        protected void InitializeTree()
        {
            InitializeDialogue(dialogueTree.GetDialogue(dialogueTree.initial_dialogue_id));

            listenerRegistry.DialogueTreeListeners["on_tree_begin"].ForEach(action => {
                action(this);
            });
        }
示例#2
0
        /// <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);
        }