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 }
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(); }