public void _reset_sequence() { _cur_node = null; _next_index = 0; _is_complete = false; int length = _childnodes.Count; for (int i = 0; i < length; i++) { _childnodes[i].Reset(); } }
// 执行下一个动作 public bool _do_action_next() { // 1.没有下一个动作了 if (_next_index >= _childnodes.Count) { // 设置完成状态,并且退出 _is_complete = true; OnFinish(); return(false); } _cur_node = _childnodes[_next_index]; _next_index++; if (_cur_node != null) { _cur_node.OnStart(); } return(true); }