Esempio n. 1
0
 void Seacher(NodeLinkTaskChecker Checker, int x)
 {
     Checker += "firstNodeAct_Subscribe [" + Checker.ID + "]";
     Checker.Branch++;                                                   // 最初に枝カウンタを1にしておく(規定値が0なので+でいいはず)
     gameNodeScripts[1][x].NodeCheckAction(Checker, _eLinkDir.NONE);     // 下から順にチェックスタート。来た方向はNONEにしておいて根っこを識別。
 }
Esempio n. 2
0
 public static NodeLinkTaskChecker GetChecker()
 {
     foreach(var it in heap)
     {
         if (!it.Use)
         {
             //Debug.Log("<color=green>HitHeap</color>");
             it.Init();
             return it;
         }
     }
     //Debug.Log("<color=orange>Heap Grow</color>");
     var ret = new NodeLinkTaskChecker();
     heap.Add(ret);
     ret.Init();
     return ret;
 }
Esempio n. 3
0
 void Catcher(NodeLinkTaskChecker Checker, bool Unlinkmode)
 {
     if (Debug.isDebugBuild && bNodeLinkDebugLog)
         Debug.Log("CheckedCallback_Subscribe [" + Checker.ID + "]" + Checker.SumNode.ToString() + "/" + (Checker.NotFin ? "" : "Fin") + "\n" + Checker.ToString());
     // ノード数1以上、非完成フラグが立ってないなら
     if (Checker.SumNode >= 1 && Checker.NotFin == false)
     {
         if (Unlinkmode)
         {
             UnlinkNodeTree(Checker.NodeList);
             Observable
                 .NextFrame()
                 //.ThrottleFrame(3)
                 .Subscribe(x => CheckLink(true, true)).AddTo(this);
         }
         else {
             ReplaceNodeTree(Checker.NodeList);   // 消去処理
         }
     }
     Checker.Dispose();      // チェッカは役目を終えたので消す
 }