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 readonly List BranchTraversalRecord;
public readonly List Tasks;
public HTNPrimitiveTask CurrentTask => Tasks[Index];
public HTNOperator CurrentOperator => CurrentTask.Operator;
///
/// Where we are up to in the
///
public int Index = 0;
public HTNPlan(List tasks, List branchTraversalRecord, List?> effects)
{
Tasks = tasks;
BranchTraversalRecord = branchTraversalRecord;
Effects = effects;
}
}