Esempio n. 1
0
    void Start()
    {
        #region 手动化


        #region Selector
//		mbt = new BTree();
//				SelectorNode sel = new SelectorNode();
//				mbt.SetRoot(sel);
//
//				TestContionalNode1 tCon1 = new TestContionalNode1();
//				TestActionNode1 tAct1 = new TestActionNode1();
//				sel.childNodes.AddChildNode(tCon1);
//				sel.childNodes.AddChildNode(tAct1);
        #endregion

        #region Sequence
//		mbt = new BTree();
//		SequenceNode seq = new SequenceNode();
//		mbt.SetRoot(seq);
//			TestContionalNode1 tCon1 = new TestContionalNode1();
//			TestActionNode1 tAct1 = new TestActionNode1();
//			seq.childNodes.AddChildNode(tCon1);
//			seq.childNodes.AddChildNode(tAct1);
        #endregion

        #region  杂点的树
        mbt = new BTree();
        SelectorNode selNode = new SelectorNode();
        mbt.SetRoot(selNode);

        SequenceNode      sqnd = new SequenceNode();
        TestContionalNode tCon = new TestContionalNode();
        TestActionNode    tAct = new TestActionNode();
        sqnd.childNodes.AddChildNode(tCon);
        sqnd.childNodes.AddChildNode(tAct);

        SequenceNode       seld  = new SequenceNode();
        TestContionalNode1 tCon1 = new TestContionalNode1();
        TestActionNode1    tAct1 = new TestActionNode1();
        seld.childNodes.AddChildNode(tCon1);
        seld.childNodes.AddChildNode(tAct1);

        //selNode.childNodes.AddChildNode(sqnd);
        //selNode.childNodes.AddChildNode(seld);
        mbt.AddNode(sqnd);
        mbt.AddNode(seld);
        #endregion


        #endregion


        #region 自动化
        // this.mbt = BTreeMgr.GetInstance().GetTree("test1");
        #endregion
    }
Esempio n. 2
0
    void Start()
    {
//		InvokeRepeating ("sssstest", 1, 4);
        BehaviourTree testBt = gameObject.AddComponent <BehaviourTree> ();

        SelectorNode rootNode = new SelectorNode("根节点");

        SequenceNode    sqn         = new SequenceNode("连贯动作节点");
        SequenceNode    actionNode1 = new SequenceNode("连贯动作节点");
        TestActionNode1 acc1        = new TestActionNode1("逃跑动作");

        actionNode1.addChildren(acc1);

        TestActionNode2 actionNode2 = new TestActionNode2("跳跃动作");
        TestActionNode3 actionNode3 = new TestActionNode3("技能1");

        TestConditionNode1 tc1 = new TestConditionNode1();

        actionNode3.addCondition(tc1);

        sqn.addChildren(actionNode1);
        sqn.addChildren(actionNode2);
        sqn.addChildren(actionNode3);
        _node = actionNode2;

        //======
        SelectorNode    snn         = new SelectorNode("选择节点");
        TestActionNode1 actionNode4 = new TestActionNode1("逃跑");
        SelectorNode    actionNode5 = new SelectorNode("选择是否全屏技能");
        TestActionNode1 ddd         = new TestActionNode1("全屏技能");

        actionNode5.addChildren(ddd);

        TestActionNode3 actionNode6 = new TestActionNode3("技能2");

        snn.addChildren(actionNode4);
        snn.addChildren(actionNode5);
        snn.addChildren(actionNode6);

        actionNode4.addCondition(tc1);

        rootNode.addChildren(sqn);
        rootNode.addChildren(snn);

        TestActionNode3 rootAction = new TestActionNode3("根部动作");

        rootNode.addChildren(rootAction);
        StartCoroutine(ttt());

        testBt.setRootNode(rootNode);

        _bt = testBt;

        _bt.renderLine();
    }