protected void SetActiveNode(BTNode node) { m_lastActiveNode = m_activeNode; m_activeNode = node; if (null != m_parentNode) m_parentNode.SetActiveNode(node); }
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; }
public BTNode RemoveChildNode(BTNode child) { if (null != m_childrens && null != child) m_childrens.Remove(child); return this; }
public BTNode(BTNode parentNode, ICondition condition = null) { _SetParentNode(parentNode); SetCondition(condition ?? new ConditionTRUE()); }
private void _SetParentNode(BTNode parentNode) { m_parentNode = parentNode; }
public BTNodeSequence(BTNode parent, ICondition condition) : base(parent, condition) { m_currentSelectIdx = -1; }
public BTAction(BTNode parent, ICondition condition) : base(parent, condition) { }
public BTNodeLoop(BTNode parent, ICondition condition, int loopCount) : base(parent, condition) { m_loopCount = loopCount; }
public BTNodeNonePrioritySelector(BTNode parent, ICondition condition) : base(parent, condition) { }
public BTNodeParallel(BTNode parent, ICondition condition, FinishOP finishCondition=FinishOP.OR) : base(parent, condition) { m_childrenState = new Dictionary<int, NodeState>(); SetFinishCondition(finishCondition); }
public BTNodePrioritySelector(BTNode parent, ICondition condtion): base(parent, condtion) { m_lastSelectIdx = m_currentSelectIdx = -1; }
public BTActionNode(BTNode parentNode, Func <ActionResult> actionFunc) : base(parentNode) { action = actionFunc; }
public void AddNode(BTNode childNode) { _children.Add(childNode); }
public BTParallelNode(BTNode parentNode) : base(parentNode) { }
public void Init() { m_Root = BTNodeData.Create(m_TextDataAiTree.bytes, this); m_Root.OnExitHandler = OnAiExitHandler; }
public BTNode(BTNode parentNode) { parent = parentNode; }