Hotfix NPC pathfinding (#17360)

This commit is contained in:
metalgearsloth
2023-06-16 01:01:26 +10:00
committed by GitHub
parent 652a2e22f3
commit 23b6d87a79
63 changed files with 5 additions and 140 deletions

View File

@@ -100,11 +100,12 @@ public sealed partial class PathfindingSystem
// Still run even when paused.
var query = AllEntityQuery<GridPathfindingComponent>();
while (query.MoveNext(out var comp))
while (query.MoveNext(out var uid, out var comp))
{
// TODO: Dump all this shit and just do it live it's probably fast enough.
if (comp.DirtyChunks.Count == 0 ||
curTime < comp.NextUpdate ||
!TryComp<MapGridComponent>(comp.Owner, out var mapGridComp))
!TryComp<MapGridComponent>(uid, out var mapGridComp))
{
continue;
}
@@ -119,7 +120,7 @@ public sealed partial class PathfindingSystem
foreach (var origin in comp.DirtyChunks)
{
var chunk = GetChunk(origin, comp.Owner, comp);
var chunk = GetChunk(origin, uid, comp);
dirt[idx] = chunk;
idx++;
}
@@ -352,7 +353,7 @@ public sealed partial class PathfindingSystem
var currentTime = _timing.CurTime;
if (comp.NextUpdate < currentTime)
if (comp.NextUpdate < currentTime && !MetaData(gridUid).EntityPaused)
comp.NextUpdate = currentTime + UpdateCooldown;
var chunks = comp.DirtyChunks;