override protected void doTransition(BevNodeInputParam input) { if (checkIndex(_lastSelectedIndex)) { _children[_lastSelectedIndex].transition(input); } _lastSelectedIndex = -1; }
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); }
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); }
public bool evaluate(BevNodeInputParam input) { bool ret = false; if (_precondition != null) ret = _precondition.evaluate(input); return ret && doEvaluate(input); }
protected override void _DoTransition(BevNodeInputParam input) { if (_needExit) { _DoExit(input); } SetActiveNode(null); }
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); }
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; }
public bool evaluate(BevNodeInputParam input) { bool ret = false; if (_precondition != null) { ret = _precondition.evaluate(input); } return(ret && doEvaluate(input)); }
override protected bool doEvaluate(BevNodeInputParam input) { if (checkIndex(_currentSelectedIndex)) { if (_children[_currentSelectedIndex].evaluate(input)) { return(true); } } return(base.doEvaluate(input)); }
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; }
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); }
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); }
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; }
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; }
public abstract bool ExternalCondition(BevNodeInputParam input);
override protected void doTransition(BevNodeInputParam input) { if (checkIndex(0)) _children[0].transition(input); _currentLoop = 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)); }
public bool ExternalCondition(ref BevNodeInputParam input) { throw new NotImplementedException(); }
protected virtual void _DoTransition(BevNodeInputParam input) { }
public EBevRunningState Tick(BevNodeInputParam inputParam, BevNodeOutputParam outputParam) { return(_DoTick(inputParam, outputParam)); }
protected virtual void _DoExit(BevNodeInputParam input) { }
virtual protected void doTransition(BevNodeInputParam input) { }
public int tick(BevNodeInputParam input, BevNodeOutputParam output) { return doTick(input, output); }
virtual protected int doTick(BevNodeInputParam input, BevNodeOutputParam output) { return(BRS_FINISH); }
virtual protected bool doEvaluate(BevNodeInputParam input) { return(true); }
public bool evaluate(BevNodeInputParam input) { throw new Exception("This is an abstract method. You need to implement yourself."); }
///<summary> ///判断节点是否可以被执行 ///</summary> public bool Evaluate(BevNodeInputParam input) { return((NodePrecondition == null || NodePrecondition.ExternalCondition(input)) && _DoEvaluate(input)); }
public void Transition(BevNodeInputParam input) { _DoTransition(input); }
protected virtual EBevRunningState _DoExecute(BevNodeInputParam input, BevNodeOutputParam output) { return(EBevRunningState.Finish); }
/// <summary> /// 内在前提 /// </summary> /// <param name="input">输入</param> protected virtual bool _DoEvaluate(BevNodeInputParam input) { return(true); }
protected virtual BevRunningStatus DoExcute(ref BevNodeInputParam input, BevNodeOutputParam output) { throw new NotImplementedException(); }
protected virtual EBevRunningState _DoTick(BevNodeInputParam inputParam, BevNodeOutputParam outputParam) { return(EBevRunningState.Finish); }
protected virtual void DoExit(ref BevNodeInputParam input, BevRunningStatus status) { }
private BevRunningStatus DoTick(ref BevNodeInputParam input, ref BevNodeOutputParam output) { throw new NotImplementedException(); }
protected virtual void DoEnter(ref BevNodeInputParam input) { }
public void transition(BevNodeInputParam input) { doTransition(input); }
virtual protected bool doEvaluate(BevNodeInputParam input) { return true; }
virtual protected int doTick(BevNodeInputParam input, BevNodeOutputParam output) { return BRS_FINISH; }
public int tick(BevNodeInputParam input, BevNodeOutputParam output) { return(doTick(input, output)); }