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);
}
}