Remove some client IEnumerables (#16501)

This commit is contained in:
metalgearsloth
2023-05-16 22:55:22 +10:00
committed by GitHub
parent e91fc652a3
commit 64bb57cdef
6 changed files with 30 additions and 32 deletions

View File

@@ -59,7 +59,9 @@ public sealed class AnomalySystem : SharedAnomalySystem
{
base.Update(frameTime);
foreach (var (super, sprite) in EntityQuery<AnomalySupercriticalComponent, SpriteComponent>())
var query = EntityQueryEnumerator<AnomalySupercriticalComponent, SpriteComponent>();
while (query.MoveNext(out var super, out var sprite))
{
var completion = 1f - (float) ((super.EndTime - _timing.CurTime) / super.SupercriticalDuration);
var scale = completion * (super.MaxScaleAmount - 1f) + 1f;

View File

@@ -6,23 +6,17 @@ public sealed class SurveillanceCameraMonitorSystem : EntitySystem
{
public override void Update(float frameTime)
{
foreach (var comp in EntityQuery<ActiveSurveillanceCameraMonitorVisualsComponent>())
{
if (Paused(comp.Owner))
{
continue;
}
var query = EntityQueryEnumerator<ActiveSurveillanceCameraMonitorVisualsComponent>();
while (query.MoveNext(out var uid, out var comp))
{
comp.TimeLeft -= frameTime;
if (comp.TimeLeft <= 0 || Deleted(comp.Owner))
if (comp.TimeLeft <= 0)
{
if (comp.OnFinish != null)
{
comp.OnFinish();
}
comp.OnFinish?.Invoke();
EntityManager.RemoveComponentDeferred<ActiveSurveillanceCameraMonitorVisualsComponent>(comp.Owner);
RemCompDeferred<ActiveSurveillanceCameraMonitorVisualsComponent>(uid);
}
}
}
@@ -35,6 +29,6 @@ public sealed class SurveillanceCameraMonitorSystem : EntitySystem
public void RemoveTimer(EntityUid uid)
{
EntityManager.RemoveComponentDeferred<ActiveSurveillanceCameraMonitorVisualsComponent>(uid);
RemCompDeferred<ActiveSurveillanceCameraMonitorVisualsComponent>(uid);
}
}

View File

@@ -123,11 +123,11 @@ public sealed class ConveyorController : SharedConveyorController
if (!xformQuery.TryGetComponent(uid, out var xform))
return;
var beltTileRef = xform.Coordinates.GetTileRef(EntityManager, _mapManager);
var beltTileRef = xform.Coordinates.GetTileRef(EntityManager, MapManager);
if (beltTileRef != null)
{
var intersecting = _lookup.GetEntitiesIntersecting(beltTileRef.Value);
var intersecting = Lookup.GetEntitiesIntersecting(beltTileRef.Value);
foreach (var entity in intersecting)
{
@@ -135,7 +135,7 @@ public sealed class ConveyorController : SharedConveyorController
continue;
if (physics.BodyType != BodyType.Static)
_physics.WakeBody(entity, body: physics);
Physics.WakeBody(entity, body: physics);
}
}
}

View File

@@ -23,9 +23,10 @@ public sealed class DamageContactsSystem : EntitySystem
{
base.Update(frameTime);
foreach (var damaged in EntityQuery<DamagedByContactComponent>())
var query = EntityQueryEnumerator<DamagedByContactComponent>();
while (query.MoveNext(out var ent, out var damaged))
{
var ent = damaged.Owner;
if (_timing.CurTime < damaged.NextSecond)
continue;
damaged.NextSecond = _timing.CurTime + TimeSpan.FromSeconds(1);

View File

@@ -24,18 +24,19 @@ public abstract partial class SharedGravitySystem
{
var curTime = Timing.CurTime;
var gravityQuery = GetEntityQuery<GravityComponent>();
var query = EntityQueryEnumerator<GravityShakeComponent>();
foreach (var comp in EntityQuery<GravityShakeComponent>())
while (query.MoveNext(out var uid, out var comp))
{
if (comp.NextShake <= curTime)
{
if (comp.ShakeTimes == 0 || !gravityQuery.TryGetComponent(comp.Owner, out var gravity))
if (comp.ShakeTimes == 0 || !gravityQuery.TryGetComponent(uid, out var gravity))
{
RemCompDeferred<GravityShakeComponent>(comp.Owner);
RemCompDeferred<GravityShakeComponent>(uid);
continue;
}
ShakeGrid(comp.Owner, gravity);
ShakeGrid(uid, gravity);
comp.ShakeTimes--;
comp.NextShake += TimeSpan.FromSeconds(ShakeCooldown);
Dirty(comp);

View File

@@ -13,9 +13,9 @@ namespace Content.Shared.Physics.Controllers;
public abstract class SharedConveyorController : VirtualController
{
[Dependency] protected readonly IMapManager _mapManager = default!;
[Dependency] protected readonly EntityLookupSystem _lookup = default!;
[Dependency] protected readonly SharedPhysicsSystem _physics = default!;
[Dependency] protected readonly IMapManager MapManager = default!;
[Dependency] protected readonly EntityLookupSystem Lookup = default!;
[Dependency] protected readonly SharedPhysicsSystem Physics = default!;
[Dependency] private readonly SharedGravitySystem _gravity = default!;
protected const string ConveyorFixture = "conveyor";
@@ -74,10 +74,10 @@ public abstract class SharedConveyorController : VirtualController
// Don't use it directly in EntityQuery because we may be able to save getcomponents.
var xformQuery = GetEntityQuery<TransformComponent>();
var bodyQuery = GetEntityQuery<PhysicsComponent>();
var query = EntityQueryEnumerator<ActiveConveyorComponent, ConveyorComponent>();
foreach (var (_, comp) in EntityQuery<ActiveConveyorComponent, ConveyorComponent>())
while (query.MoveNext(out var uid, out var _, out var comp))
{
var uid = comp.Owner;
Convey(uid, comp, xformQuery, bodyQuery, conveyed, frameTime, prediction);
}
}
@@ -115,8 +115,8 @@ public abstract class SharedConveyorController : VirtualController
transform.LocalPosition = localPos;
// Force it awake for collisionwake reasons.
_physics.SetAwake(entity, body, true);
_physics.SetSleepTime(body, 0f);
Physics.SetAwake(entity, body, true);
Physics.SetSleepTime(body, 0f);
}
Dirty(comp);
}
@@ -161,9 +161,9 @@ public abstract class SharedConveyorController : VirtualController
EntityQuery<PhysicsComponent> bodyQuery)
{
// Check if the thing's centre overlaps the grid tile.
var grid = _mapManager.GetGrid(xform.GridUid!.Value);
var grid = MapManager.GetGrid(xform.GridUid!.Value);
var tile = grid.GetTileRef(xform.Coordinates);
var conveyorBounds = _lookup.GetLocalBounds(tile, grid.TileSize);
var conveyorBounds = Lookup.GetLocalBounds(tile, grid.TileSize);
foreach (var entity in comp.Intersecting)
{