[ViewVariables(VVAccess.ReadWrite)]
public float PlanAccumulator = 0f;
+ [DataField]
+ public bool ConstantlyReplan = true;
+
[ViewVariables]
public HTNPlanJob? PlanningJob = null;
component.PlanAccumulator -= frameTime;
// We'll still try re-planning occasionally even when we're updating in case new data comes in.
- if (component.PlanAccumulator <= 0f)
+ if ((component.ConstantlyReplan || component.Plan is null) && component.PlanAccumulator <= 0f)
{
RequestPlan(component);
}
if (component.PlanningJob != null)
return;
- component.PlanAccumulator += component.PlanCooldown;
+ component.PlanAccumulator = component.PlanCooldown;
var cancelToken = new CancellationTokenSource();
var branchTraversal = component.Plan?.BranchTraversalRecord;