Exemplo n.º 1
0
    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;
 }
Exemplo n.º 5
0
 public ConversationalTree(ConversationalNode param)
 {
     root = param;
 }
Exemplo n.º 6
0
 private void NextNode(ConversationalNode next)
 {
     currentNode      = next;
     options          = currentNode.GetChildNode2() != null && currentNode.GetExtraCondition() == null;
     stopConversation = currentNode.GetMessage().StartsWith("_");
 }
Exemplo n.º 7
0
    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;
    }