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