override protected void doTransition(BevNodeInputParam input)
 {
     if (checkIndex(_lastSelectedIndex)) {
         _children[_lastSelectedIndex].transition(input);
     }
     _lastSelectedIndex = -1;
 }
Exemplo n.º 2
0
        override protected int doTick(BevNodeInputParam input,
                                      BevNodeOutputParam output)
        {
            int isFinish = BRS_FINISH;

            if (checkIndex(0))
            {
                isFinish = _children[0].tick(input, output);
                if (isFinish == BRS_FINISH)
                {
                    if (_loopCount == -1)
                    {
                        isFinish = BRS_EXECUTING;
                    }
                    else
                    {
                        ++_currentLoop;
                        if (_currentLoop < _loopCount)
                        {
                            isFinish = BRS_EXECUTING;
                        }
                    }
                }
            }

            if (isFinish == BRS_FINISH)
            {
                _currentLoop = 0;
            }
            return(isFinish);
        }
Exemplo n.º 3
0
        override protected int doTick(BevNodeInputParam input,
                                      BevNodeOutputParam output)
        {
            int isFinish = BRS_FINISH;

            if (checkIndex(_currentSelectedIndex))
            {
                if (_currentSelectedIndex != _lastSelectedIndex)
                {
                    if (checkIndex(_lastSelectedIndex))
                    {
                        _children[_lastSelectedIndex].transition(input);
                    }
                    _lastSelectedIndex = _currentSelectedIndex;
                }
            }

            if (checkIndex(_lastSelectedIndex))
            {
                isFinish = _children[_lastSelectedIndex].tick(input, output);
                if (isFinish == BRS_FINISH)
                {
                    _lastSelectedIndex = -1;
                }
            }
            return(isFinish);
        }
Exemplo n.º 4
0
 public bool evaluate(BevNodeInputParam input)
 {
     bool ret = false;
     if (_precondition != null)
         ret = _precondition.evaluate(input);
     return ret && doEvaluate(input);
 }
Exemplo n.º 5
0
 protected override void _DoTransition(BevNodeInputParam input)
 {
     if (_needExit)
     {
         _DoExit(input);
     }
     SetActiveNode(null);
 }
Exemplo n.º 6
0
 override protected void doTransition(BevNodeInputParam input)
 {
     if (checkIndex(_lastSelectedIndex))
     {
         _children[_lastSelectedIndex].transition(input);
     }
     _lastSelectedIndex = -1;
 }
Exemplo n.º 7
0
 override protected void doTransition(BevNodeInputParam input)
 {
     if (checkIndex(0))
     {
         _children[0].transition(input);
     }
     _currentLoop = 0;
 }
 override protected bool doEvaluate(BevNodeInputParam input)
 {
     if (checkIndex(_currentSelectedIndex))
     {
         if (_children[_currentSelectedIndex].evaluate(input))
             return true;
     }
     return base.doEvaluate(input);
 }
Exemplo n.º 9
0
        override protected bool doEvaluate(BevNodeInputParam input)
        {
            if (_loopCount < 0) return false;
            if (_currentLoop < _loopCount) return false;

            if (checkIndex(0))
                if (_children[0].evaluate(input))
                    return true;
            return false;
        }
Exemplo n.º 10
0
        public bool evaluate(BevNodeInputParam input)
        {
            bool ret = false;

            if (_precondition != null)
            {
                ret = _precondition.evaluate(input);
            }
            return(ret && doEvaluate(input));
        }
Exemplo n.º 11
0
 override protected bool doEvaluate(BevNodeInputParam input)
 {
     if (checkIndex(_currentSelectedIndex))
     {
         if (_children[_currentSelectedIndex].evaluate(input))
         {
             return(true);
         }
     }
     return(base.doEvaluate(input));
 }
Exemplo n.º 12
0
 override protected bool doEvaluate(BevNodeInputParam input)
 {
     _currentSelectedIndex = -1;
     int len = _children.Count;
     for (int i = 0; i < len; ++i) {
         if (_children[i].evaluate(input))
         {
             _currentSelectedIndex = i;
             return true;
         }
     }
     return false;
 }
Exemplo n.º 13
0
        override protected bool doEvaluate(BevNodeInputParam input)
        {
            _currentSelectedIndex = -1;
            int len = _children.Count;

            for (int i = 0; i < len; ++i)
            {
                if (_children[i].evaluate(input))
                {
                    _currentSelectedIndex = i;
                    return(true);
                }
            }
            return(false);
        }
Exemplo n.º 14
0
        override protected bool doEvaluate(BevNodeInputParam input)
        {
            if (_loopCount < 0)
            {
                return(false);
            }
            if (_currentLoop < _loopCount)
            {
                return(false);
            }

            if (checkIndex(0))
            {
                if (_children[0].evaluate(input))
                {
                    return(true);
                }
            }
            return(false);
        }
Exemplo n.º 15
0
        override protected int doTick(BevNodeInputParam input, 
            BevNodeOutputParam output)
        {
            int isFinish = BRS_FINISH;
            if (checkIndex(0)) {
                isFinish = _children[0].tick(input, output);
                if (isFinish == BRS_FINISH)
                {
                    if (_loopCount == -1)
                        isFinish = BRS_EXECUTING;
                    else {
                        ++_currentLoop;
                        if (_currentLoop < _loopCount)
                            isFinish = BRS_EXECUTING;
                    }
                }
            }

            if (isFinish == BRS_FINISH)
                _currentLoop = 0;
            return isFinish;
        }
Exemplo n.º 16
0
        override protected int doTick(BevNodeInputParam input, 
            BevNodeOutputParam output)
        {
            int isFinish = BRS_FINISH;
            if (checkIndex(_currentSelectedIndex))
            {
                if (_currentSelectedIndex != _lastSelectedIndex)
                {
                    if (checkIndex(_lastSelectedIndex))
                    {
                        _children[_lastSelectedIndex].transition(input);
                    }
                    _lastSelectedIndex = _currentSelectedIndex;
                }
            }

            if (checkIndex(_lastSelectedIndex))
            {
                isFinish = _children[_lastSelectedIndex].tick(input, output);
                if (isFinish == BRS_FINISH)
                    _lastSelectedIndex = -1;
            }
            return isFinish;
        }
Exemplo n.º 17
0
 public abstract bool ExternalCondition(BevNodeInputParam input);
Exemplo n.º 18
0
 override protected void doTransition(BevNodeInputParam input)
 {
     if (checkIndex(0))
         _children[0].transition(input);
     _currentLoop = 0;
 }
Exemplo n.º 19
0
 /// <summary>
 /// 更新方法,类似于Mono的Update()
 /// </summary>
 /// <param name="input"></param>
 /// <param name="output"></param>
 /// <returns></returns>
 BevRunningStatus Tick(ref BevNodeInputParam input, ref BevNodeOutputParam output)
 {
     return(DoTick(ref input, ref output));
 }
Exemplo n.º 20
0
 public bool ExternalCondition(ref BevNodeInputParam input)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 21
0
 protected virtual void _DoTransition(BevNodeInputParam input)
 {
 }
Exemplo n.º 22
0
 public EBevRunningState Tick(BevNodeInputParam inputParam, BevNodeOutputParam outputParam)
 {
     return(_DoTick(inputParam, outputParam));
 }
Exemplo n.º 23
0
 protected virtual void _DoExit(BevNodeInputParam input)
 {
 }
Exemplo n.º 24
0
 virtual protected void doTransition(BevNodeInputParam input)
 {
     
 }
Exemplo n.º 25
0
 public int tick(BevNodeInputParam input, BevNodeOutputParam output)
 {
     return doTick(input, output);
 }
Exemplo n.º 26
0
 virtual protected int doTick(BevNodeInputParam input, BevNodeOutputParam output)
 {
     return(BRS_FINISH);
 }
Exemplo n.º 27
0
 virtual protected void doTransition(BevNodeInputParam input)
 {
 }
Exemplo n.º 28
0
 virtual protected bool doEvaluate(BevNodeInputParam input)
 {
     return(true);
 }
Exemplo n.º 29
0
 public bool evaluate(BevNodeInputParam input)
 {
     throw new Exception("This is an abstract method. You need to implement yourself.");
 }
Exemplo n.º 30
0
    ///<summary>
    ///判断节点是否可以被执行
    ///</summary>

    public bool Evaluate(BevNodeInputParam input)
    {
        return((NodePrecondition == null || NodePrecondition.ExternalCondition(input)) && _DoEvaluate(input));
    }
Exemplo n.º 31
0
 public void Transition(BevNodeInputParam input)
 {
     _DoTransition(input);
 }
Exemplo n.º 32
0
 protected virtual EBevRunningState _DoExecute(BevNodeInputParam input, BevNodeOutputParam output)
 {
     return(EBevRunningState.Finish);
 }
Exemplo n.º 33
0
 /// <summary>
 /// 内在前提
 /// </summary>
 /// <param name="input">输入</param>
 protected virtual bool _DoEvaluate(BevNodeInputParam input)
 {
     return(true);
 }
Exemplo n.º 34
0
 protected virtual BevRunningStatus DoExcute(ref BevNodeInputParam input, BevNodeOutputParam output)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 35
0
 protected virtual EBevRunningState _DoTick(BevNodeInputParam inputParam, BevNodeOutputParam outputParam)
 {
     return(EBevRunningState.Finish);
 }
Exemplo n.º 36
0
 protected virtual void DoExit(ref BevNodeInputParam input, BevRunningStatus status)
 {
 }
Exemplo n.º 37
0
 private BevRunningStatus DoTick(ref BevNodeInputParam input, ref BevNodeOutputParam output)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 38
0
 protected virtual void DoEnter(ref BevNodeInputParam input)
 {
 }
Exemplo n.º 39
0
 public void transition(BevNodeInputParam input)
 {
     doTransition(input);
 }
Exemplo n.º 40
0
 public bool evaluate(BevNodeInputParam input)
 {
     throw new Exception("This is an abstract method. You need to implement yourself.");
 }
Exemplo n.º 41
0
 virtual protected bool doEvaluate(BevNodeInputParam input)
 {
     return true;
 }
Exemplo n.º 42
0
 public void transition(BevNodeInputParam input)
 {
     doTransition(input);
 }
Exemplo n.º 43
0
 virtual protected int doTick(BevNodeInputParam input, BevNodeOutputParam output)
 {
     return BRS_FINISH;
 }
Exemplo n.º 44
0
 public int tick(BevNodeInputParam input, BevNodeOutputParam output)
 {
     return(doTick(input, output));
 }