Refactor pathfinding updates and add AccessReader support (#1183)
There was some extra bloat in the path graph updates. Now the queue should also just run if it gets too big regardless. Un-anchored physics objects are no longer a hard fail for pathfinding. Add AccessReader support so open / close doors show up for pathfinding AI also ensure they call the operator's shutdown when they're shutdown so that should cancel the pathfinding job. I tried to split these into 2 commits but they were kinda coupled together Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
This commit is contained in:
@@ -29,11 +29,17 @@ namespace Content.Server.AI.Utility.Actions.Combat.Melee
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
var moveOperator = new MoveToEntityOperator(Owner, _entity);
|
||||
var equipped = context.GetState<EquippedEntityState>().GetValue();
|
||||
MoveToEntityOperator moveOperator;
|
||||
if (equipped != null && equipped.TryGetComponent(out MeleeWeaponComponent meleeWeaponComponent))
|
||||
{
|
||||
moveOperator.DesiredRange = meleeWeaponComponent.Range - 0.01f;
|
||||
moveOperator = new MoveToEntityOperator(Owner, _entity, meleeWeaponComponent.Range - 0.01f);
|
||||
}
|
||||
// I think it's possible for this to happen given planning is time-sliced?
|
||||
// TODO: At this point we should abort
|
||||
else
|
||||
{
|
||||
moveOperator = new MoveToEntityOperator(Owner, _entity);
|
||||
}
|
||||
|
||||
ActionOperators = new Queue<AiOperator>(new AiOperator[]
|
||||
|
||||
Reference in New Issue
Block a user