/// <summary> /// 通过类型获取节点 /// </summary> /// <param name="classType"></param> /// <returns></returns> public static BaseNode GetBaseNode(string classType) { BaseNode baseNode = null; NodeProxyInfo nodeProxyInfo = BehaviorTreeManager.Instance.GetRegistedNodeType(classType); if (nodeProxyInfo == null) { Debug.LogError($"错误!!行为树节点未注册 ClassType:{classType}"); return(null); } switch (nodeProxyInfo.behaviorNodeType) { case BehaviorNodeType.Action: baseNode = new BaseActionNode(); break; case BehaviorNodeType.Condition: baseNode = new BaseConditionNode(); break; case BehaviorNodeType.Composite: baseNode = new BaseCompositeNode(); break; case BehaviorNodeType.Decorator: baseNode = new BaseDecoratorNode(); break; default: Debug.LogError($"错误!!行为树节点类型错误 ClassType:{classType}"); break; } baseNode.NodeInfo = nodeProxyInfo; return(baseNode); }
public void addCondition(BaseConditionNode condition) { _conditionNodes.Add(condition); }