예제 #1
0
 /// <summary>
 /// performs the given behavior
 /// </summary>
 /// <returns>the behaviors return code</returns>
 public override BehaviorReturnCode Behave()
 {
     ReturnCode = _Behavior.Behave();
     if (ReturnCode == BehaviorReturnCode.Failure)
     {
         return(BehaviorReturnCode.Failure);
     }
     else
     {
         ReturnCode = BehaviorReturnCode.Running;
         return(BehaviorReturnCode.Running);
     }
 }
예제 #2
0
        public override BehaviorReturnCode Behave()
        {
            try
            {
                if (r_RandomFunction.Invoke() <= r_Probability)
                {
                    ReturnCode = r_Behavior.Behave();
                    return(ReturnCode);
                }
                else
                {
                    ReturnCode = BehaviorReturnCode.Running;
                    return(BehaviorReturnCode.Running);
                }
            }
            catch (Exception e)
            {
#if DEBUG
                Console.Error.WriteLine(e.ToString());
#endif
                ReturnCode = BehaviorReturnCode.Failure;
                return(BehaviorReturnCode.Failure);
            }
        }
예제 #3
0
 public virtual BehaviorState Behave()
 {
     return(root.Behave());
 }
예제 #4
0
 /// <summary>
 /// performs the given behavior
 /// </summary>
 /// <returns>the behaviors return code</returns>
 public override BehaviorReturnCode Behave()
 {
     ReturnCode = _Behavior.Behave();
     ReturnCode = BehaviorReturnCode.Running;
     return(BehaviorReturnCode.Running);
 }
예제 #5
0
 /// <summary>
 /// performs the given behavior
 /// </summary>
 /// <returns>the behaviors return code</returns>
 public override BehaviorReturnCode OnBehave(TreeContext context)
 {
     ReturnCode = _Behavior.Behave(context);
     ReturnCode = BehaviorReturnCode.Running;
     return(BehaviorReturnCode.Running);
 }
예제 #6
0
 // Update is called once per frame
 void Update()
 {
     base.Update();
     _root.Behave();
 }