private List <NodeValue> GetSubTreeNode(int currentOpenSubTreeId) { List <NodeValue> nodeList = new List <NodeValue>(); NodeValue subTreeNode = BehaviorDataController.Instance.GetNode(currentOpenSubTreeId); if (null == subTreeNode) { return(nodeList); } if (subTreeNode.subTreeType == (int)SUB_TREE_TYPE.NORMAL) { List <NodeValue> allNodeList = GetNodeList(); for (int i = 0; i < allNodeList.Count; ++i) { NodeValue nodeValue = allNodeList[i]; if (currentOpenSubTreeId >= 0 && nodeValue.parentSubTreeNodeId == currentOpenSubTreeId) { nodeList.Add(nodeValue); } } } else if (subTreeNode.subTreeType == (int)SUB_TREE_TYPE.CONFIG) { ConfigFileLoad configFileLoad = new ConfigFileLoad(); BehaviorTreeData data = configFileLoad.ReadFile(subTreeNode.subTreeConfig, false); if (null != data) { nodeList.AddRange(data.nodeList); } } return(nodeList); }
private BehaviorTreeData LoadConfig(string fileName) { ConfigFileLoad configFileLoad = new ConfigFileLoad(); BehaviorTreeData behaviorTreeData = configFileLoad.ReadFile(fileName, false); behaviorTreeData.nodeDic.Clear(); for (int i = 0; i < behaviorTreeData.nodeList.Count; ++i) { NodeValue nodeValue = behaviorTreeData.nodeList[i]; behaviorTreeData.nodeDic.Add(nodeValue.id, nodeValue); } return(behaviorTreeData); }