Cleanup some lookup stuff (#18738)

This commit is contained in:
metalgearsloth
2023-08-06 15:11:43 +10:00
committed by GitHub
parent 413370d545
commit 5d3503222c
2 changed files with 21 additions and 14 deletions

View File

@@ -25,6 +25,7 @@ using Content.Shared.Tag;
using Content.Shared.Weapons.Melee; using Content.Shared.Weapons.Melee;
using Content.Shared.Weapons.Melee.Events; using Content.Shared.Weapons.Melee.Events;
using Robust.Shared.Audio; using Robust.Shared.Audio;
using Robust.Shared.Map;
using Robust.Shared.Physics.Events; using Robust.Shared.Physics.Events;
using Robust.Shared.Player; using Robust.Shared.Player;
using Robust.Shared.Prototypes; using Robust.Shared.Prototypes;
@@ -34,22 +35,23 @@ namespace Content.Server.Electrocution;
public sealed class ElectrocutionSystem : SharedElectrocutionSystem public sealed class ElectrocutionSystem : SharedElectrocutionSystem
{ {
[Dependency] private readonly EntityLookupSystem _entityLookup = default!; [Dependency] private readonly IAdminLogManager _adminLogger = default!;
[Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly DamageableSystem _damageable = default!;
[Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly MeleeWeaponSystem _meleeWeapon = default!;
[Dependency] private readonly NodeContainerSystem _nodeContainer = default!;
[Dependency] private readonly NodeGroupSystem _nodeGroup = default!;
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly StatusEffectsSystem _statusEffects = default!; [Dependency] private readonly StatusEffectsSystem _statusEffects = default!;
[Dependency] private readonly SharedJitteringSystem _jittering = default!; [Dependency] private readonly SharedJitteringSystem _jittering = default!;
[Dependency] private readonly MeleeWeaponSystem _meleeWeapon = default!; [Dependency] private readonly SharedPopupSystem _popup = default!;
[Dependency] private readonly SharedStunSystem _stun = default!; [Dependency] private readonly SharedStunSystem _stun = default!;
[Dependency] private readonly SharedStutteringSystem _stuttering = default!; [Dependency] private readonly SharedStutteringSystem _stuttering = default!;
[Dependency] private readonly SharedPopupSystem _popup = default!;
[Dependency] private readonly DamageableSystem _damageable = default!;
[Dependency] private readonly NodeGroupSystem _nodeGroup = default!;
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
[Dependency] private readonly TagSystem _tag = default!; [Dependency] private readonly TagSystem _tag = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
[Dependency] private readonly NodeContainerSystem _nodeContainer = default!;
private const string StatusEffectKey = "Electrocution"; private const string StatusEffectKey = "Electrocution";
private const string DamageType = "Shock"; private const string DamageType = "Shock";
@@ -138,10 +140,15 @@ public sealed class ElectrocutionSystem : SharedElectrocutionSystem
return false; return false;
if (electrified.NoWindowInTile) if (electrified.NoWindowInTile)
{ {
foreach (var entity in transform.Coordinates.GetEntitiesInTile(LookupFlags.Approximate | LookupFlags.Static, _entityLookup)) var tileRef = transform.Coordinates.GetTileRef(EntityManager, _mapManager);
if (tileRef != null)
{ {
if (_tag.HasTag(entity, "Window")) foreach (var entity in _entityLookup.GetEntitiesIntersecting(tileRef.Value, flags: LookupFlags.StaticSundries))
return false; {
if (_tag.HasTag(entity, "Window"))
return false;
}
} }
} }
if (electrified.UsesApcPower) if (electrified.UsesApcPower)

View File

@@ -454,7 +454,7 @@ public sealed partial class PathfindingSystem
// var isBorder = x < 0 || y < 0 || x == ChunkSize - 1 || y == ChunkSize - 1; // var isBorder = x < 0 || y < 0 || x == ChunkSize - 1 || y == ChunkSize - 1;
tileEntities.Clear(); tileEntities.Clear();
var available = _lookup.GetEntitiesIntersecting(tile); var available = _lookup.GetEntitiesIntersecting(tile, flags: LookupFlags.Dynamic | LookupFlags.Static);
foreach (var ent in available) foreach (var ent in available)
{ {