//Runs all its children, when they're all done running, regardless of result, return success, if one is in process, wait until next tick override public BTN_State Tick() { while (activeChild < childrenNodes.Count) { BTN_State childState = childrenNodes[activeChild].Tick(); if (childState == BTN_State.Process) { return(BTN_State.Process); } } return(BTN_State.Success); }
//Runs all its children, when they're all done running, regardless of result, return success, if one is in process, wait until next tick override public BTN_State Tick() { while (activeChild < childrenNodes.Count) { BTN_State childState = childrenNodes[activeChild].Tick(); if (childState == BTN_State.Process) { return(BTN_State.Process); } else { activeChild = 0; return(childState == BTN_State.Failure ? BTN_State.Success : BTN_State.Failure); } } activeChild = 0; return(BTN_State.Success); }
override public BTN_State Tick() { //Keep running children until one succeeds, if one is in process, we wait for the next Tick while (activeChild < childrenNodes.Count) { BTN_State childState = childrenNodes[activeChild].Tick(); switch (childState) { case BTN_State.Success: return(BTN_State.Success); case BTN_State.Process: return(BTN_State.Process); case BTN_State.Failure: activeChild++; break; } } activeChild = 0; return(BTN_State.Failure); }