private void RestartConversation() { currentNode = ct.GetRoot(); framedConversation = false; conversationTime = false; options = false; stopConversation = false; }
public ConversationalNode(string param0, string param1, string param2, string param3, string param4) { childNode1 = null; childNode2 = null; node1 = param0; node2 = param1; message = param2; extraCondition = param3; somethingToDo = param4; }
public void SetChildNode2(ConversationalNode param) { childNode2 = param; }
public void SetChildNode1(ConversationalNode param1) { childNode1 = param1; }
public ConversationalTree(ConversationalNode param) { root = param; }
private void NextNode(ConversationalNode next) { currentNode = next; options = currentNode.GetChildNode2() != null && currentNode.GetExtraCondition() == null; stopConversation = currentNode.GetMessage().StartsWith("_"); }
private void CreateConversationalTree() { conversationalTreeLines = conversationalTreeText.text.Split("\n"[0]); nodeList = new List <ConversationalNode>(); string node1 = null, node2 = null, message = null, extraCondition = null, somethingToDo = null; int line = 0; for (int i = 0; i < conversationalTreeLines.Length; i++) { if (conversationalTreeLines[i][0] == '#' && !conversationalTreeLines[i].StartsWith("#0")) { nodeList.Add(new ConversationalNode(node1, node2, message, extraCondition, somethingToDo)); line = 0; node1 = node2 = message = extraCondition = somethingToDo = null; } else { switch (line) { case 1: if (conversationalTreeLines[i][0] != '-') { node1 = conversationalTreeLines[i].Substring(0, conversationalTreeLines[i].Length - 1); } break; case 2: if (conversationalTreeLines[i][0] != '-') { node2 = conversationalTreeLines[i].Substring(0, conversationalTreeLines[i].Length - 1); } break; case 3: if (conversationalTreeLines[i][0] != '-') { message = conversationalTreeLines[i].Substring(0, conversationalTreeLines[i].Length - 1); } break; case 4: if (conversationalTreeLines[i][0] != '-') { extraCondition = conversationalTreeLines[i].Substring(0, conversationalTreeLines[i].Length - 1); } break; case 5: if (conversationalTreeLines[i][0] != '-') { somethingToDo = conversationalTreeLines[i].Substring(0, conversationalTreeLines[i].Length - 1); } break; } } line++; } nodeList.Add(new ConversationalNode(node1, node2, message, extraCondition, somethingToDo)); ct = new ConversationalTree(nodeList[0]); for (int i = 0; i < nodeList.Count; i++) { if (nodeList[i].GetNode1() != null) { nodeList[i].SetChildNode1(nodeList[Convert.ToInt32(nodeList[i].GetNode1())]); } if (nodeList[i].GetNode2() != null) { nodeList[i].SetChildNode2(nodeList[Convert.ToInt32(nodeList[i].GetNode2())]); } } currentNode = ct.GetRoot(); options = currentNode.GetChildNode2() != null && currentNode.GetExtraCondition() == null; }