BulletMLLib.BulletMLTree.GetLabelNode C# (CSharp) 메소드

GetLabelNode() 공개 메소드

public GetLabelNode ( string label, BLName name ) : BulletMLTree
label string
name BLName
리턴 BulletMLTree
        public BulletMLTree GetLabelNode(string label, BLName name)
        {
            BulletMLTree rootNode = this; //先頭までさかのぼる
            while (rootNode.parent != null)
                rootNode = rootNode.parent;

            foreach (BulletMLTree tree in rootNode.children)
            {
                if (tree.label == label && tree.name == name)
                    return tree;
            }
            return null;
        }

Usage Example

예제 #1
0
        //木構造のトップからの初期化
        public void InitTop(BulletMLTree node)
        {
            //トップノードからの初期化
            this.tree = node;
            //task.taskList.Clear();
            //task.Parse(tree);
            //task.Init();

            BulletMLTree tree = node.GetLabelNode("top", BLName.Action);

            if (tree != null)
            {
                BulletMLTask task = tasks[0];
                task.taskList.Clear();
                task.Parse(tree, this);
                task.Init();
            }
            else
            {
                for (int i = 1; i < 10; i++)
                {
                    BulletMLTree tree2 = node.GetLabelNode("top" + i, BLName.Action);
                    if (tree2 != null)
                    {
                        if (i > 1)
                        {
                            tasks.Add(new BulletMLTask());
                            fireData.Add(new FireData());
                        }

                        BulletMLTask task = tasks[i - 1];
                        task.taskList.Clear();
                        task.Parse(tree2, this);
                        task.Init();
                    }
                }
            }
        }
All Usage Examples Of BulletMLLib.BulletMLTree::GetLabelNode