コード例 #1
0
    public void filltree()
    {
        Dialouge_nodes temp   = new Dialouge_nodes();
        StreamReader   reader = new StreamReader("Assets/Scripts/Node Data/node.txt");

        if (reader == null)
        {
            File.Create("Assets/Scripts/Node Data/node.txt");
        }
        while (!reader.EndOfStream)
        {
            string   nodetxt = reader.ReadToEnd();
            string[] notes   = nodetxt.Split(',');
            foreach (string note in notes)
            {
                nodes         = new MarkovNodes <Dialouge_nodes>();
                temp.dialogue = note;
                nodes.data    = temp;
                int num;
                num = note[note.Length - 1] - '0';
                if (diaTree[num - 1] == null)
                {
                    dialogue = new List <MarkovNodes <Dialouge_nodes> >();
                    diaTree.Add(dialogue);
                }
                diaTree[num - 1].Add(nodes);
            }
        }
    }
コード例 #2
0
 public void deleteNode(MarkovNodes <T> Node)
 {
     if (Nodes.Contains(Node))
     {
         Nodes.Remove(Node);
     }
     balanced = false;
 }
コード例 #3
0
 public void createFlowGraph()
 {
     for (int ii = 0; ii < diaTree.Count; ii++)
     {
         for (int nodecount = 0; nodecount < diaTree[ii].Count; ii++)
         {
             for (int randcount = 0; randcount < Random.Range(0, 4); randcount++)
             {
                 nodes = new MarkovNodes <Dialouge_nodes>();
                 if (ii == 0)
                 {
                     nodes = diaTree[ii + 1][Random.Range(0, diaTree[ii + 1].Count)];
                 }
                 else
                 {
                     nodes = diaTree[ii + Random.Range(-1, 1)][Random.Range(0, diaTree[ii + 1].Count)];
                 }
                 diaTree[ii][nodecount].createNode(nodes);
             }
         }
     }
 }
コード例 #4
0
 public void createNode(MarkovNodes <T> Node)
 {
     Nodes.Add(Node);
     balanced = false;
 }