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)); }
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(); } }