using System.Collections.Generic; using FluidHTN.Conditions; using FluidHTN.Operators; namespace FluidHTN.PrimitiveTasks { public interface IPrimitiveTask : ITask { /// /// Executing conditions are validated before every call to Operator.Update(...) /// List ExecutingConditions { get; } /// /// Add a new executing condition to the primitive task. This will be checked before /// every call to Operator.Update(...) /// /// /// ITask AddExecutingCondition(ICondition condition); IOperator Operator { get; } void SetOperator(IOperator action); List Effects { get; } ITask AddEffect(IEffect effect); void ApplyEffects(IContext ctx); void Stop(IContext ctx); } }