public void CreateBevTree() { //m_TreeRoot = BTreeNodeFactory<MyInputData, MyOutputData>.CreateParallelNode(null, "Root_ParallelNode", BTreeParallelFinishCondition.AND); //BTreeNodeFactory<MyInputData, MyOutputData>.CreateActionNode<StartActionNode>(m_TreeRoot, "Start"); //var troopAction = BTreeNodeFactory<MyInputData, MyOutputData>.CreatePrioritySelectorNode(m_TreeRoot, "TroopAction"); //BTreeNodeFactory<MyInputData, MyOutputData>.CreateActionNode<FindTargetActionNode>(troopAction, "FindTarget") // .SetNodePrecondition(new BTreeNodePreconditionNOT<MyInputData>(new HasTargetCondition())); //BTreeNodeFactory<MyInputData, MyOutputData>.CreateActionNode<AttackActionNode>(troopAction, "Attack") // .SetNodePrecondition(new BTreeNodePreconditionAND<MyInputData>(new HasTargetCondition(), new IsInAttackRangeCondition())); //BTreeNodeFactory<MyInputData, MyOutputData>.CreateActionNode<MoveToActionNode>(troopAction, "MoveTo") // .SetNodePrecondition(new HasTargetCondition()); //BTreeNodeSerialization.WriteBinary(config, config.m_Name); //var _config = BTreeNodeSerialization.ReadBinary(config.m_Name); //BTreeNodeSerialization.WriteXML(config, config.m_Name); //var _config = BTreeNodeSerialization.ReadXML("Btree"); var _config = BTreeNodeSerialization.ReadXML("Btree_test"); _config = BTreeNodeSerialization.ReadBinary("Root_ParallelNode"); BTreeNodeFactory.Init(); m_TreeRoot = BTreeNodeFactory.CreateBTreeRootFromConfig(_config); //var _testconfig = BTreeNodeFactory<BTreeInputData, BTreeOutputData>.CreateConfigFromBTreeRoot(m_TreeRoot); //BTreeNodeSerialization.WriteXML(_testconfig, "Btree_test"); }
public static BTreeEditorTreeConfig CreateEditorTreeConfigFromRootEditorNode(BTreeNodeDesigner _rootEditorNode) { TreeConfig _treeConfig = BTreeNodeFactory.CreateConfigFromBTreeRoot(_rootEditorNode.m_EditorNode.m_Node); BTreeEditorTreeConfig _treeEditorConfig = new BTreeEditorTreeConfig(_treeConfig); int index = 0; CreateEditorNodeConfigFromRootEditorNode(_rootEditorNode, ref _treeEditorConfig.m_EditorNodes, ref index); return(_treeEditorConfig); }
public static BTreeEditorNode[] CreateBTreeEditorNode(BTreeEditorTreeConfig _config) { BTreeNodeFactory.Init(); BTreeNode[] _btreeNodes = BTreeNodeFactory.CreateBTreeFromConfig(_config); BTreeEditorNode[] _editorNodes = new BTreeEditorNode[_btreeNodes.Length]; for (int i = 0; i < _editorNodes.Length; i++) { _editorNodes[i] = new BTreeEditorNode(_btreeNodes[i]); _editorNodes[i].m_Pos = new Vector2(_config.m_EditorNodes[i].m_PosX, _config.m_EditorNodes[i].m_PosY); _editorNodes[i].m_Disable = _config.m_EditorNodes[i].m_Disable; } return(_editorNodes); }
public static TreeConfig CreateTreeConfigFromBTreeGraphDesigner(BTreeGraphDesigner _graphDesigner) { BTreeNode _root = _graphDesigner.m_RootNode.m_EditorNode.m_Node; return(BTreeNodeFactory.CreateConfigFromBTreeRoot(_root)); }