コード例 #1
0
        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;
        }
コード例 #2
0
        public DialogueRuntime End()
        {
            currentDialogue = null;

            listenerRegistry.DialogueTreeListeners["on_tree_finished"].ForEach(action => {
                action(this);
            });

            return(null);
        }