/// <summary> /// performs the given behavior /// </summary> /// <returns>the behaviors return code</returns> public override BehaviourReturnCode Behave() { try { switch (_behaviourComponent.Behave()) { case BehaviourReturnCode.Failure: ReturnCode = BehaviourReturnCode.Success; return(ReturnCode); case BehaviourReturnCode.Success: ReturnCode = BehaviourReturnCode.Failure; return(ReturnCode); case BehaviourReturnCode.Running: ReturnCode = BehaviourReturnCode.Running; return(ReturnCode); } } catch (Exception e) { #if DEBUG Console.Error.WriteLine(e.ToString()); #endif ReturnCode = BehaviourReturnCode.Success; return(ReturnCode); } ReturnCode = BehaviourReturnCode.Success; return(ReturnCode); }
public override BehaviourReturnCode Behave() { try { if (_rRandomFunction.Invoke() <= _probability) { ReturnCode = _behaviourComponent.Behave(); return(ReturnCode); } ReturnCode = BehaviourReturnCode.Running; return(BehaviourReturnCode.Running); } catch (Exception e) { #if DEBUG Console.Error.WriteLine(e.ToString()); #endif ReturnCode = BehaviourReturnCode.Failure; return(BehaviourReturnCode.Failure); } }
public override BehaviourReturnCode Behave() { try { if (_interruptCondition.Behave() == BehaviourReturnCode.Success) { ReturnCode = _onInterruptReturn; return(_onInterruptReturn); } ReturnCode = _behaviourComponent.Behave(); return(ReturnCode); } catch (Exception e) { #if DEBUG Console.Error.WriteLine(e.ToString()); #endif ReturnCode = BehaviourReturnCode.Failure; return(ReturnCode); } }
/// <summary> /// performs the given behavior /// </summary> /// <returns>the behaviors return code</returns> public override BehaviourReturnCode Behave() { try { if (_counter < _maxCount) { _counter++; ReturnCode = BehaviourReturnCode.Running; return(BehaviourReturnCode.Running); } _counter = 0; ReturnCode = _behaviour.Behave(); return(ReturnCode); } catch (Exception e) { #if DEBUG Console.Error.WriteLine(e.ToString()); #endif ReturnCode = BehaviourReturnCode.Failure; return(BehaviourReturnCode.Failure); } }
/// <summary> /// performs the given behavior /// </summary> /// <returns>the behaviors return code</returns> public override BehaviourReturnCode Behave() { try { _timeElapsed += _elapsedTimeFunction.Invoke(); if (_timeElapsed >= _waitTime) { _timeElapsed = 0; ReturnCode = _behaviourComponent.Behave(); return(ReturnCode); } ReturnCode = BehaviourReturnCode.Running; return(BehaviourReturnCode.Running); } catch (Exception e) { #if DEBUG Console.Error.WriteLine(e.ToString()); #endif ReturnCode = BehaviourReturnCode.Failure; return(BehaviourReturnCode.Failure); } }