diff --git a/Content.Client/Eye/EyeLerpingSystem.cs b/Content.Client/Eye/EyeLerpingSystem.cs index 14d13004a8..8e9679afbd 100644 --- a/Content.Client/Eye/EyeLerpingSystem.cs +++ b/Content.Client/Eye/EyeLerpingSystem.cs @@ -99,10 +99,12 @@ public sealed class EyeLerpingSystem : EntitySystem return; // Set all of our eye rotations to the relevant values. - foreach (var (lerpInfo, xform) in EntityQuery()) + var query = AllEntityQuery(); + + while (query.MoveNext(out var uid, out var lerpInfo, out var xform)) { lerpInfo.LastRotation = lerpInfo.TargetRotation; - lerpInfo.TargetRotation = GetRotation(lerpInfo.Owner, xform); + lerpInfo.TargetRotation = GetRotation(uid, xform); } } @@ -143,11 +145,10 @@ public sealed class EyeLerpingSystem : EntitySystem { var tickFraction = (float) _gameTiming.TickFraction / ushort.MaxValue; const double lerpMinimum = 0.00001; + var query = AllEntityQuery(); - foreach (var (lerpInfo, eye, xform) in EntityQuery()) + while (query.MoveNext(out var entity, out var lerpInfo, out var eye, out var xform)) { - var entity = eye.Owner; - TryComp(entity, out var mover); // This needs to be recomputed every frame, as if this is simply the grid rotation, then we need to account for grid angle lerping.