Fix NPC prototype reloads (#13981)
This commit is contained in:
@@ -11,6 +11,7 @@ namespace Content.Server.NPC.HTN;
|
||||
/// </summary>
|
||||
public sealed class HTNPlanJob : Job<HTNPlan>
|
||||
{
|
||||
private readonly HTNSystem _htn;
|
||||
private readonly HTNCompoundTask _rootTask;
|
||||
private NPCBlackboard _blackboard;
|
||||
|
||||
@@ -21,11 +22,13 @@ public sealed class HTNPlanJob : Job<HTNPlan>
|
||||
|
||||
public HTNPlanJob(
|
||||
double maxTime,
|
||||
HTNSystem htn,
|
||||
HTNCompoundTask rootTask,
|
||||
NPCBlackboard blackboard,
|
||||
List<int>? branchTraversal,
|
||||
CancellationToken cancellationToken = default) : base(maxTime, cancellationToken)
|
||||
{
|
||||
_htn = htn;
|
||||
_rootTask = rootTask;
|
||||
_blackboard = blackboard;
|
||||
_branchTraversal = branchTraversal;
|
||||
@@ -156,6 +159,8 @@ public sealed class HTNPlanJob : Job<HTNPlan>
|
||||
/// </summary>
|
||||
private bool TryFindSatisfiedMethod(HTNCompoundTask compound, Queue<HTNTask> tasksToProcess, NPCBlackboard blackboard, ref int mtrIndex)
|
||||
{
|
||||
var compBranches = _htn.CompoundBranches[compound];
|
||||
|
||||
for (var i = mtrIndex; i < compound.Branches.Count; i++)
|
||||
{
|
||||
var branch = compound.Branches[i];
|
||||
@@ -173,7 +178,9 @@ public sealed class HTNPlanJob : Job<HTNPlan>
|
||||
if (!isValid)
|
||||
continue;
|
||||
|
||||
foreach (var task in branch.Tasks)
|
||||
var branchTasks = compBranches[i];
|
||||
|
||||
foreach (var task in branchTasks)
|
||||
{
|
||||
tasksToProcess.Enqueue(task);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user