Remove 700 usages of Component.Owner (#21100)

This commit is contained in:
DrSmugleaf
2023-10-19 12:34:31 -07:00
committed by GitHub
parent 5825ffb95c
commit f560f88eb5
261 changed files with 2291 additions and 2036 deletions

View File

@@ -1,9 +1,8 @@
using Content.Server.Polymorph.Systems;
using Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Components;
using Content.Server.Xenoarchaeology.XenoArtifacts.Events;
using Content.Shared.Humanoid;
using Content.Server.Polymorph.Systems;
using Content.Shared.Mobs.Systems;
using Content.Shared.Polymorph;
namespace Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Systems;
@@ -28,7 +27,10 @@ public sealed class PolyArtifactSystem : EntitySystem
private void OnActivate(EntityUid uid, PolyArtifactComponent component, ArtifactActivatedEvent args)
{
var xform = Transform(uid);
foreach (var comp in _lookup.GetComponentsInRange<HumanoidAppearanceComponent>(xform.Coordinates, component.Range))
var humanoids = new HashSet<Entity<HumanoidAppearanceComponent>>();
_lookup.GetEntitiesInRange(xform.Coordinates, component.Range, humanoids);
foreach (var comp in humanoids)
{
var target = comp.Owner;
if (_mob.IsAlive(target))

View File

@@ -23,7 +23,7 @@ public sealed class ShuffleArtifactSystem : EntitySystem
var mobState = GetEntityQuery<MobStateComponent>();
List<EntityCoordinates> allCoords = new();
List<TransformComponent> toShuffle = new();
List<Entity<TransformComponent>> toShuffle = new();
foreach (var ent in _lookup.GetEntitiesInRange(uid, component.Radius, LookupFlags.Dynamic | LookupFlags.Sundries))
{
@@ -32,7 +32,7 @@ public sealed class ShuffleArtifactSystem : EntitySystem
var xform = Transform(ent);
toShuffle.Add(xform);
toShuffle.Add((ent, xform));
allCoords.Add(xform.Coordinates);
}

View File

@@ -24,8 +24,9 @@ public sealed class RandomArtifactSpriteSystem : EntitySystem
public override void Update(float frameTime)
{
base.Update(frameTime);
var query = EntityManager.EntityQuery<RandomArtifactSpriteComponent, AppearanceComponent>();
foreach (var (component, appearance) in query)
var query = EntityQueryEnumerator<RandomArtifactSpriteComponent, AppearanceComponent>();
while (query.MoveNext(out var uid, out var component, out var appearance))
{
if (component.ActivationStart == null)
continue;
@@ -33,7 +34,7 @@ public sealed class RandomArtifactSpriteSystem : EntitySystem
var timeDif = _time.CurTime - component.ActivationStart.Value;
if (timeDif.Seconds >= component.ActivationTime)
{
_appearance.SetData(appearance.Owner, SharedArtifactsVisuals.IsActivated, false, appearance);
_appearance.SetData(uid, SharedArtifactsVisuals.IsActivated, false, appearance);
component.ActivationStart = null;
}
}

View File

@@ -20,8 +20,9 @@ public sealed class ArtifactDeathTriggerSystem : EntitySystem
var deathXform = Transform(ev.Target);
var toActivate = new List<ArtifactDeathTriggerComponent>();
foreach (var (trigger, xform) in EntityQuery<ArtifactDeathTriggerComponent, TransformComponent>())
var toActivate = new List<Entity<ArtifactDeathTriggerComponent>>();
var query = EntityQueryEnumerator<ArtifactDeathTriggerComponent, TransformComponent>();
while (query.MoveNext(out var uid, out var trigger, out var xform))
{
if (!deathXform.Coordinates.TryDistance(EntityManager, xform.Coordinates, out var distance))
continue;
@@ -29,12 +30,12 @@ public sealed class ArtifactDeathTriggerSystem : EntitySystem
if (distance > trigger.Range)
continue;
toActivate.Add(trigger);
toActivate.Add((uid, trigger));
}
foreach (var a in toActivate)
{
_artifact.TryActivateArtifact(a.Owner);
_artifact.TryActivateArtifact(a);
}
}
}

View File

@@ -20,18 +20,20 @@ public sealed class ArtifactElectricityTriggerSystem : EntitySystem
public override void Update(float frameTime)
{
base.Update(frameTime);
List<ArtifactComponent> toUpdate = new();
foreach (var (trigger, power, artifact) in EntityQuery<ArtifactElectricityTriggerComponent, PowerConsumerComponent, ArtifactComponent>())
List<Entity<ArtifactComponent>> toUpdate = new();
var query = EntityQueryEnumerator<ArtifactElectricityTriggerComponent, PowerConsumerComponent, ArtifactComponent>();
while (query.MoveNext(out var uid, out var trigger, out var power, out var artifact))
{
if (power.ReceivedPower <= trigger.MinPower)
continue;
toUpdate.Add(artifact);
toUpdate.Add((uid, artifact));
}
foreach (var a in toUpdate)
{
_artifactSystem.TryActivateArtifact(a.Owner, null, a);
_artifactSystem.TryActivateArtifact(a, null, a);
}
}

View File

@@ -30,11 +30,10 @@ public sealed class ArtifactGasTriggerSystem : EntitySystem
{
base.Update(frameTime);
List<ArtifactComponent> toUpdate = new();
foreach (var (trigger, artifact, transform) in EntityQuery<ArtifactGasTriggerComponent, ArtifactComponent, TransformComponent>())
List<Entity<ArtifactComponent>> toUpdate = new();
var query = EntityQueryEnumerator<ArtifactGasTriggerComponent, ArtifactComponent, TransformComponent>();
while (query.MoveNext(out var uid, out var trigger, out var artifact, out var transform))
{
var uid = trigger.Owner;
if (trigger.ActivationGas == null)
continue;
@@ -49,12 +48,12 @@ public sealed class ArtifactGasTriggerSystem : EntitySystem
if (moles < trigger.ActivationMoles)
continue;
toUpdate.Add(artifact);
toUpdate.Add((uid, artifact));
}
foreach (var a in toUpdate)
{
_artifactSystem.TryActivateArtifact(a.Owner, null, a);
_artifactSystem.TryActivateArtifact(a, null, a);
}
}
}

View File

@@ -24,10 +24,10 @@ public sealed class ArtifactHeatTriggerSystem : EntitySystem
{
base.Update(frameTime);
List<ArtifactComponent> toUpdate = new();
foreach (var (trigger, transform, artifact) in EntityQuery<ArtifactHeatTriggerComponent, TransformComponent, ArtifactComponent>())
List<Entity<ArtifactComponent>> toUpdate = new();
var query = EntityQueryEnumerator<ArtifactHeatTriggerComponent, TransformComponent, ArtifactComponent>();
while (query.MoveNext(out var uid, out var trigger, out var transform, out var artifact))
{
var uid = trigger.Owner;
var environment = _atmosphereSystem.GetTileMixture(transform.GridUid, transform.MapUid,
_transformSystem.GetGridOrMapTilePosition(uid, transform));
if (environment == null)
@@ -36,12 +36,12 @@ public sealed class ArtifactHeatTriggerSystem : EntitySystem
if (environment.Temperature < trigger.ActivationTemperature)
continue;
toUpdate.Add(artifact);
toUpdate.Add((uid, artifact));
}
foreach (var a in toUpdate)
{
_artifactSystem.TryActivateArtifact(a.Owner, null, a);
_artifactSystem.TryActivateArtifact(a, null, a);
}
}

View File

@@ -29,13 +29,12 @@ public sealed class ArtifactMagnetTriggerSystem : EntitySystem
List<EntityUid> toActivate = new();
//assume that there's more instruments than artifacts
foreach (var magboot in EntityQuery<MagbootsComponent>())
var query = EntityQueryEnumerator<MagbootsComponent, TransformComponent>();
while (query.MoveNext(out var uid, out var magboot, out var magXform))
{
if (!magboot.On)
continue;
var magXform = Transform(magboot.Owner);
foreach (var (trigger, xform) in artifactQuery)
{
if (!magXform.Coordinates.TryDistance(EntityManager, xform.Coordinates, out var distance))
@@ -44,7 +43,7 @@ public sealed class ArtifactMagnetTriggerSystem : EntitySystem
if (distance > trigger.Range)
continue;
toActivate.Add(trigger.Owner);
toActivate.Add(uid);
}
}
@@ -59,7 +58,8 @@ public sealed class ArtifactMagnetTriggerSystem : EntitySystem
var magXform = Transform(ev.Magnet);
var toActivate = new List<EntityUid>();
foreach (var (artifact, xform) in EntityQuery<ArtifactMagnetTriggerComponent, TransformComponent>())
var query = EntityQueryEnumerator<ArtifactMagnetTriggerComponent, TransformComponent>();
while (query.MoveNext(out var uid, out var artifact, out var xform))
{
if (!magXform.Coordinates.TryDistance(EntityManager, xform.Coordinates, out var distance))
continue;
@@ -67,7 +67,7 @@ public sealed class ArtifactMagnetTriggerSystem : EntitySystem
if (distance > artifact.Range)
continue;
toActivate.Add(artifact.Owner);
toActivate.Add(uid);
}
foreach (var a in toActivate)

View File

@@ -11,22 +11,29 @@ public sealed class ArtifactMusicTriggerSystem : EntitySystem
{
[Dependency] private readonly ArtifactSystem _artifact = default!;
private readonly List<Entity<ArtifactMusicTriggerComponent, TransformComponent>> _artifacts = new();
public override void Update(float frameTime)
{
base.Update(frameTime);
var artifactQuery = EntityQuery<ArtifactMusicTriggerComponent, TransformComponent>().ToArray();
if (!artifactQuery.Any())
_artifacts.Clear();
var artifactQuery = EntityQueryEnumerator<ArtifactMusicTriggerComponent, TransformComponent>();
while (artifactQuery.MoveNext(out var uid, out var trigger, out var xform))
{
_artifacts.Add((uid, trigger, xform));
}
if (!_artifacts.Any())
return;
List<EntityUid> toActivate = new();
var query = EntityQueryEnumerator<ActiveInstrumentComponent, TransformComponent>();
//assume that there's more instruments than artifacts
foreach (var activeinstrument in EntityQuery<ActiveInstrumentComponent>())
while (query.MoveNext(out _, out var instXform))
{
var instXform = Transform(activeinstrument.Owner);
foreach (var (trigger, xform) in artifactQuery)
foreach (var (uid, trigger, xform) in _artifacts)
{
if (!instXform.Coordinates.TryDistance(EntityManager, xform.Coordinates, out var distance))
continue;
@@ -34,7 +41,7 @@ public sealed class ArtifactMusicTriggerSystem : EntitySystem
if (distance > trigger.Range)
continue;
toActivate.Add(trigger.Owner);
toActivate.Add(uid);
}
}

View File

@@ -17,10 +17,10 @@ public sealed class ArtifactPressureTriggerSystem : EntitySystem
{
base.Update(frameTime);
List<ArtifactComponent> toUpdate = new();
foreach (var (trigger, artifact, transform) in EntityQuery<ArtifactPressureTriggerComponent, ArtifactComponent, TransformComponent>())
List<Entity<ArtifactComponent>> toUpdate = new();
var query = EntityQueryEnumerator<ArtifactPressureTriggerComponent, ArtifactComponent, TransformComponent>();
while (query.MoveNext(out var uid, out var trigger, out var artifact, out var transform))
{
var uid = trigger.Owner;
var environment = _atmosphereSystem.GetTileMixture(transform.GridUid, transform.MapUid,
_transformSystem.GetGridOrMapTilePosition(uid, transform));
@@ -29,12 +29,12 @@ public sealed class ArtifactPressureTriggerSystem : EntitySystem
var pressure = environment.Pressure;
if (pressure >= trigger.MaxPressureThreshold || pressure <= trigger.MinPressureThreshold)
toUpdate.Add(artifact);
toUpdate.Add((uid, artifact));
}
foreach (var a in toUpdate)
{
_artifactSystem.TryActivateArtifact(a.Owner, null, a);
_artifactSystem.TryActivateArtifact(a, null, a);
}
}
}

View File

@@ -24,20 +24,21 @@ public sealed class ArtifactTimerTriggerSystem : EntitySystem
{
base.Update(frameTime);
List<ArtifactComponent> toUpdate = new();
foreach (var (trigger, artifact) in EntityQuery<ArtifactTimerTriggerComponent, ArtifactComponent>())
List<Entity<ArtifactComponent>> toUpdate = new();
var query = EntityQueryEnumerator<ArtifactTimerTriggerComponent, ArtifactComponent>();
while (query.MoveNext(out var uid, out var trigger, out var artifact))
{
var timeDif = _time.CurTime - trigger.LastActivation;
if (timeDif <= trigger.ActivationRate)
continue;
toUpdate.Add(artifact);
toUpdate.Add((uid, artifact));
trigger.LastActivation = _time.CurTime;
}
foreach (var a in toUpdate)
{
_artifactSystem.TryActivateArtifact(a.Owner, null, a);
_artifactSystem.TryActivateArtifact(a, null, a);
}
}
}