26 lines
710 B
C#
26 lines
710 B
C#
namespace BehaviorDesigner.Runtime.Tasks
|
|
{
|
|
[TaskIcon("{SkinColor}UntilFailureIcon.png")]
|
|
[TaskDescription("The until failure task will keep executing its child task until the child task returns failure.")]
|
|
[HelpURLAttribute("http://www.opsive.com/assets/BehaviorDesigner/documentation.php?id=41")]
|
|
public class UntilFailure : Decorator
|
|
{
|
|
private TaskStatus executionStatus;
|
|
|
|
public override bool CanExecute()
|
|
{
|
|
return executionStatus == TaskStatus.Success || executionStatus == TaskStatus.Inactive;
|
|
}
|
|
|
|
public override void OnChildExecuted(TaskStatus childStatus)
|
|
{
|
|
executionStatus = childStatus;
|
|
}
|
|
|
|
public override void OnEnd()
|
|
{
|
|
executionStatus = TaskStatus.Inactive;
|
|
}
|
|
}
|
|
}
|