Пример #1
0
        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();
            }
        }
Пример #2
0
        // 执行下一个动作
        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);
        }