private void TickBranch() { for (int i = 0; i < _branchTicks.Count; i++) { int nodeIndex = _branchTicks.GetValue(i); _tree.allNodes[nodeIndex].OnBranchTick(); } }
/// <summary> /// Gets the subtree that is running under a parent. /// This does not work directly under parallel nodes since they use their own iterator. /// </summary> /// <param name="parent"></param> /// <returns></returns> public BehaviourNode GetRunningSubtree(BehaviourNode parent) { int parentIndexInTraversal = GetIndexInTraversal(parent); int subtreeIndexInTraversal = parentIndexInTraversal + 1; int subtreePreOrder = _traversal.GetValue(subtreeIndexInTraversal); return(_tree.allNodes[subtreePreOrder]); }