using Content.Server.NPC.HTN.PrimitiveTasks;
namespace Content.Server.NPC.HTN;
///
/// The current plan for a HTN NPC.
///
public sealed class HTNPlan
{
///
/// Effects that were applied for each primitive task in the plan.
///
public readonly List?> Effects;
public List BranchTraversalRecord;
public List Tasks;
public int Index = 0;
public HTNPrimitiveTask CurrentTask => Tasks[Index];
public HTNOperator CurrentOperator => CurrentTask.Operator;
public HTNPlan(List tasks, List branchTraversalRecord, List?> effects)
{
Tasks = tasks;
BranchTraversalRecord = branchTraversalRecord;
Effects = effects;
}
}