コード例 #1
0
 public override void ChildFail(TaskId task)
 {
     this.Fail();
 }
コード例 #2
0
 public override void ChildRunning(TaskId task, TaskId reporter)
 {
     this.Running();
 }
コード例 #3
0
 public override void ChildSuccess(TaskId task)
 {
     this.Success();
 }
コード例 #4
0
ファイル: LoopDecorator.cs プロジェクト: Craiel/GDX.AI.Sharp
 public override void ChildRunning(TaskId task, TaskId reporter)
 {
     base.ChildRunning(task, reporter);
     this.Condition = false;
 }
コード例 #5
0
 /// <summary>
 /// Creates a decorator that wraps the given task
 /// </summary>
 /// <param name="child">the task that will be wrapped</param>
 public Decorator(TaskId child)
 {
     this.Child = child;
 }
コード例 #6
0
 public override void ChildFail(TaskId task)
 {
     this.RunningChild = TaskId.Invalid;
 }
コード例 #7
0
ファイル: LoopDecorator.cs プロジェクト: Craiel/GDX.AI.Sharp
 protected LoopDecorator(TaskId child)
     : base(child)
 {
 }
コード例 #8
0
ファイル: Task.cs プロジェクト: Craiel/GDX.AI.Sharp
        // -------------------------------------------------------------------
        // Protected
        // -------------------------------------------------------------------

        /// <summary>
        /// This method will add a child to the list of this task's children
        /// </summary>
        /// <param name="child">the child task which will be added</param>
        /// <returns>the index where the child has been added</returns>
        /// <exception cref="IllegalStateException">if the child cannot be added for whatever reason</exception>
        protected abstract int AddChildToTask(TaskId child);
コード例 #9
0
 public override void ChildSuccess(TaskId task)
 {
     this.RunningChild = TaskId.Invalid;
 }
コード例 #10
0
ファイル: Task.cs プロジェクト: Craiel/GDX.AI.Sharp
 /// <summary>
 /// This method will be called when one of the children of this task fails
 /// </summary>
 /// <param name="task">the task that failed</param>
 public abstract void ChildFail(TaskId task);
コード例 #11
0
ファイル: Task.cs プロジェクト: Craiel/GDX.AI.Sharp
 /// <summary>
 /// This method will be called when one of the children of this task succeeds
 /// </summary>
 /// <param name="task">the task that succeeded</param>
 public abstract void ChildSuccess(TaskId task);
コード例 #12
0
ファイル: Task.cs プロジェクト: Craiel/GDX.AI.Sharp
 /// <summary>
 /// This method will be called when one of the ancestors of this task needs to run again
 /// </summary>
 /// <param name="task">the task that needs to run again</param>
 /// <param name="reporter">the task that reports, usually one of this task's children</param>
 public abstract void ChildRunning(TaskId task, TaskId reporter);
コード例 #13
0
ファイル: Task.cs プロジェクト: Craiel/GDX.AI.Sharp
 /// <summary>
 /// This method will set a task as this task's control (parent)
 /// </summary>
 /// <param name="parent">the parent task</param>
 /// <param name="parentStream">the stream of the parent task</param>
 public void SetControl(TaskId parent, BehaviorStream <T> parentStream)
 {
     this.Control = parent;
     this.Stream  = parentStream;
 }
コード例 #14
0
 // -------------------------------------------------------------------
 // Protected
 // -------------------------------------------------------------------
 protected override int AddChildToTask(TaskId child)
 {
     this.Children.Add(child);
     return(this.Children.Count - 1);
 }