Esempio n. 1
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();
    }