示例#1
0
 protected void SetActiveNode(BTNode node)
 {
     m_lastActiveNode = m_activeNode;
     m_activeNode = node;
     if (null != m_parentNode)
         m_parentNode.SetActiveNode(node);
 }
示例#2
0
        public BTNode AddChildNode(BTNode child)
        {
            if (null == m_childrens)
                m_childrens = new List<BTNode>();

            if (!m_childrens.Contains(child))
                m_childrens.Add(child);
            return this;
        }
示例#3
0
 public BTNode RemoveChildNode(BTNode child)
 {
     if (null != m_childrens && null != child)
         m_childrens.Remove(child);
     return this;
 }
示例#4
0
 public BTNode(BTNode parentNode, ICondition condition = null)
 {
     _SetParentNode(parentNode);
     SetCondition(condition ?? new ConditionTRUE());
 }
示例#5
0
 private void _SetParentNode(BTNode parentNode) { m_parentNode = parentNode; }
示例#6
0
 public BTNodeSequence(BTNode parent, ICondition condition)
     : base(parent, condition)
 {
     m_currentSelectIdx = -1;
 }
示例#7
0
 public BTAction(BTNode parent, ICondition condition)
     : base(parent, condition) { }
示例#8
0
 public BTNodeLoop(BTNode parent, ICondition condition, int loopCount)
     : base(parent, condition)
 {
     m_loopCount = loopCount;
 }
示例#9
0
        public BTNodeNonePrioritySelector(BTNode parent, ICondition condition)
            : base(parent, condition)
        {

        }
示例#10
0
 public BTNodeParallel(BTNode parent, ICondition condition, FinishOP finishCondition=FinishOP.OR)
     : base(parent, condition)
 {
     m_childrenState = new Dictionary<int, NodeState>();
     SetFinishCondition(finishCondition);
 }
示例#11
0
 public BTNodePrioritySelector(BTNode parent, ICondition condtion):
     base(parent, condtion)
 {
     m_lastSelectIdx = m_currentSelectIdx = -1;
 }
示例#12
0
 public BTActionNode(BTNode parentNode, Func <ActionResult> actionFunc) : base(parentNode)
 {
     action = actionFunc;
 }
示例#13
0
 public void AddNode(BTNode childNode)
 {
     _children.Add(childNode);
 }
示例#14
0
 public BTParallelNode(BTNode parentNode) : base(parentNode)
 {
 }
示例#15
0
 public void Init()
 {
     m_Root = BTNodeData.Create(m_TextDataAiTree.bytes, this);
     m_Root.OnExitHandler = OnAiExitHandler;
 }
示例#16
0
 public BTNode(BTNode parentNode)
 {
     parent = parentNode;
 }