示例#1
0
        public void OnMessage(DialogueEventArgs conv)
        {
            ConversationTextNode cast = (ConversationTextNode)conv.Data;

            log.Trace("OnMessage Call");


            if (conv.NodeReady == 1 || conv.NodeReady == -1)
            {
                MainWindow.logger.Log("End of conversation!");
            }

            MainWindow.logger.Log(string.Format("'{0}' : {1}", cast.Subject.Name, cast.Text));
        }
示例#2
0
    void ProceedConversation()
    {
        currentIndex++;
        if (currentIndex < conversationLength)
        {
            Debug.Log("Conversation " + currentIndex + "/" + conversationLength);
            ConversationTextNode currentTextNode = (ConversationTextNode)currentConversation.conversationNodes[currentIndex];

            if (currentTextNode.GetType() != typeof(ConversationTextNode))
            {
                if (currentTextNode.GetType() == typeof(ConversationEssenceNode))
                {
                    ConversationEssenceNode essenceNode = (ConversationEssenceNode)currentTextNode;
                    if (essenceNode.obtained)
                    {
                        ProceedConversation();
                    }
                    else
                    {
                        currentConversation.conversationNodes[currentIndex].UseNode();
                        textBoxText.text = "";
                        currentText      = "";
                        textToShow       = currentTextNode.text;
                        StartCoroutine(BuildText());
                    }
                }
                else if (currentTextNode.GetType() == typeof(ConversationTriggerNode))
                {
                    ConversationTriggerNode triggerNode = (ConversationTriggerNode)currentTextNode;
                    if (triggerNode.activated)
                    {
                        ProceedConversation();
                    }
                    else
                    {
                        currentConversation.conversationNodes[currentIndex].UseNode();
                        textBoxText.text = "";
                        currentText      = "";
                        textToShow       = currentTextNode.text;
                        StartCoroutine(BuildText());
                    }
                }
                else
                {
                    ProceedConversation();
                }
            }
            else
            {
                currentConversation.conversationNodes[currentIndex].UseNode();
                textBoxText.text = "";
                currentText      = "";
                textToShow       = currentTextNode.text;
                StartCoroutine(BuildText());
            }
        }
        else
        {
            EndConversation();
        }
    }