コード例 #1
0
ファイル: PhraseNode.cs プロジェクト: YehudaShapira/Questor
 private void MergeNodes(PhraseNode existingNode, PhraseNode newNode)
 {
     foreach (var newNext in newNode.Next)
     {
         if (!newNext.IsPlaceholder)
         {
             existingNode.AddNode(newNext);
         }
     }
 }
コード例 #2
0
ファイル: PhraseNode.cs プロジェクト: YehudaShapira/Questor
        public void AddNode(PhraseNode node)
        {
            var nodeWithSameWord = Next.FirstOrDefault(n => n.BaseWord == node.BaseWord);

            if (nodeWithSameWord == null)
            {
                Next.Add(node);
            }
            else
            {
                MergeNodes(nodeWithSameWord, node);
            }
        }
コード例 #3
0
ファイル: PhraseTree.cs プロジェクト: YehudaShapira/Questor
 public void Select(PhraseNode node)
 {
     SelectedNodes.Add(node);
 }
コード例 #4
0
ファイル: PhraseTree.cs プロジェクト: YehudaShapira/Questor
 public PhraseTree(PhraseNode root) : this()
 {
     Root = root;
 }