EntityLookup as a system for content (#6931)

This commit is contained in:
metalgearsloth
2022-03-03 21:18:35 +11:00
committed by GitHub
parent 614bb6d34e
commit 836930e733
36 changed files with 42 additions and 41 deletions

View File

@@ -12,10 +12,10 @@ namespace Content.Client.Administration
private readonly AdminSystem _system; private readonly AdminSystem _system;
private readonly IEntityManager _entityManager; private readonly IEntityManager _entityManager;
private readonly IEyeManager _eyeManager; private readonly IEyeManager _eyeManager;
private readonly IEntityLookup _entityLookup; private readonly EntityLookupSystem _entityLookup;
private readonly Font _font; private readonly Font _font;
public AdminNameOverlay(AdminSystem system, IEntityManager entityManager, IEyeManager eyeManager, IResourceCache resourceCache, IEntityLookup entityLookup) public AdminNameOverlay(AdminSystem system, IEntityManager entityManager, IEyeManager eyeManager, IResourceCache resourceCache, EntityLookupSystem entityLookup)
{ {
_system = system; _system = system;
_entityManager = entityManager; _entityManager = entityManager;
@@ -46,7 +46,7 @@ namespace Content.Client.Administration
continue; continue;
} }
var aabb = _entityLookup.GetWorldAabbFromEntity(entity); var aabb = _entityLookup.GetWorldAABB(entity);
// if not on screen, continue // if not on screen, continue
if (!aabb.Intersects(in viewport)) if (!aabb.Intersects(in viewport))

View File

@@ -29,7 +29,7 @@ namespace Content.Client.Administration
[Dependency] private readonly IOverlayManager _overlayManager = default!; [Dependency] private readonly IOverlayManager _overlayManager = default!;
[Dependency] private readonly IResourceCache _resourceCache = default!; [Dependency] private readonly IResourceCache _resourceCache = default!;
[Dependency] private readonly IEntityManager _entityManager = default!; [Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IEntityLookup _entityLookup = default!; [Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly IClientConsoleHost _clientConsoleHost = default!; [Dependency] private readonly IClientConsoleHost _clientConsoleHost = default!;
[Dependency] private readonly VerbSystem _verbSystem = default!; [Dependency] private readonly VerbSystem _verbSystem = default!;

View File

@@ -19,7 +19,7 @@ namespace Content.Client.Audio
/// </summary> /// </summary>
public sealed class AmbientSoundSystem : SharedAmbientSoundSystem public sealed class AmbientSoundSystem : SharedAmbientSoundSystem
{ {
[Dependency] private IEntityLookup _lookup = default!; [Dependency] private EntityLookupSystem _lookup = default!;
[Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!; [Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly IRobustRandom _random = default!;

View File

@@ -364,7 +364,7 @@ namespace Content.Client.DragDrop
// TODO: Duplicated in SpriteSystem and TargetOutlineSystem. Should probably be cached somewhere for a frame? // TODO: Duplicated in SpriteSystem and TargetOutlineSystem. Should probably be cached somewhere for a frame?
var mousePos = _eyeManager.ScreenToMap(_inputManager.MouseScreenPosition).Position; var mousePos = _eyeManager.ScreenToMap(_inputManager.MouseScreenPosition).Position;
var bounds = new Box2(mousePos - 1.5f, mousePos + 1.5f); var bounds = new Box2(mousePos - 1.5f, mousePos + 1.5f);
var pvsEntities = IoCManager.Resolve<IEntityLookup>().GetEntitiesIntersecting(_eyeManager.CurrentMap, bounds, LookupFlags.Approximate | LookupFlags.IncludeAnchored); var pvsEntities = EntitySystem.Get<EntityLookupSystem>().GetEntitiesIntersecting(_eyeManager.CurrentMap, bounds, LookupFlags.Approximate | LookupFlags.IncludeAnchored);
foreach (var pvsEntity in pvsEntities) foreach (var pvsEntity in pvsEntities)
{ {
if (!EntityManager.TryGetComponent(pvsEntity, out ISpriteComponent? inRangeSprite) || if (!EntityManager.TryGetComponent(pvsEntity, out ISpriteComponent? inRangeSprite) ||

View File

@@ -15,7 +15,7 @@ namespace Content.Client.NodeContainer
public sealed class NodeGroupSystem : EntitySystem public sealed class NodeGroupSystem : EntitySystem
{ {
[Dependency] private readonly IOverlayManager _overlayManager = default!; [Dependency] private readonly IOverlayManager _overlayManager = default!;
[Dependency] private readonly IEntityLookup _entityLookup = default!; [Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IInputManager _inputManager = default!; [Dependency] private readonly IInputManager _inputManager = default!;
[Dependency] private readonly IResourceCache _resourceCache = default!; [Dependency] private readonly IResourceCache _resourceCache = default!;

View File

@@ -14,7 +14,7 @@ namespace Content.Client.NodeContainer
public sealed class NodeVisualizationOverlay : Overlay public sealed class NodeVisualizationOverlay : Overlay
{ {
private readonly NodeGroupSystem _system; private readonly NodeGroupSystem _system;
private readonly IEntityLookup _lookup; private readonly EntityLookupSystem _lookup;
private readonly IMapManager _mapManager; private readonly IMapManager _mapManager;
private readonly IInputManager _inputManager; private readonly IInputManager _inputManager;
private readonly IEntityManager _entityManager; private readonly IEntityManager _entityManager;
@@ -32,7 +32,7 @@ namespace Content.Client.NodeContainer
public NodeVisualizationOverlay( public NodeVisualizationOverlay(
NodeGroupSystem system, NodeGroupSystem system,
IEntityLookup lookup, EntityLookupSystem lookup,
IMapManager mapManager, IMapManager mapManager,
IInputManager inputManager, IInputManager inputManager,
IResourceCache cache, IResourceCache cache,

View File

@@ -14,7 +14,7 @@ namespace Content.Client.Outline;
public sealed class TargetOutlineSystem : EntitySystem public sealed class TargetOutlineSystem : EntitySystem
{ {
[Dependency] private readonly IEyeManager _eyeManager = default!; [Dependency] private readonly IEyeManager _eyeManager = default!;
[Dependency] private readonly IEntityLookup _lookup = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly IInputManager _inputManager = default!; [Dependency] private readonly IInputManager _inputManager = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!; [Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!;

View File

@@ -30,7 +30,7 @@ namespace Content.Client.Verbs
[Dependency] private readonly ExamineSystem _examineSystem = default!; [Dependency] private readonly ExamineSystem _examineSystem = default!;
[Dependency] private readonly TagSystem _tagSystem = default!; [Dependency] private readonly TagSystem _tagSystem = default!;
[Dependency] private readonly IStateManager _stateManager = default!; [Dependency] private readonly IStateManager _stateManager = default!;
[Dependency] private readonly IEntityLookup _entityLookup = default!; [Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!; [Dependency] private readonly IPlayerManager _playerManager = default!;
/// <summary> /// <summary>

View File

@@ -59,7 +59,7 @@ namespace Content.Client.Viewport
public IList<EntityUid> GetEntitiesUnderPosition(MapCoordinates coordinates) public IList<EntityUid> GetEntitiesUnderPosition(MapCoordinates coordinates)
{ {
// Find all the entities intersecting our click // Find all the entities intersecting our click
var entities = IoCManager.Resolve<IEntityLookup>().GetEntitiesIntersecting(coordinates.MapId, var entities = EntitySystem.Get<EntityLookupSystem>().GetEntitiesIntersecting(coordinates.MapId,
Box2.CenteredAround(coordinates.Position, (1, 1))); Box2.CenteredAround(coordinates.Position, (1, 1)));
var containerSystem = _entitySystemManager.GetEntitySystem<SharedContainerSystem>(); var containerSystem = _entitySystemManager.GetEntitySystem<SharedContainerSystem>();

View File

@@ -66,7 +66,7 @@ namespace Content.IntegrationTests.Tests.Destructible
Assert.That(spawnEntitiesBehavior.Spawn.Keys.Single(), Is.EqualTo(SpawnedEntityId)); Assert.That(spawnEntitiesBehavior.Spawn.Keys.Single(), Is.EqualTo(SpawnedEntityId));
Assert.That(spawnEntitiesBehavior.Spawn.Values.Single(), Is.EqualTo(new MinMax {Min = 1, Max = 1})); Assert.That(spawnEntitiesBehavior.Spawn.Values.Single(), Is.EqualTo(new MinMax {Min = 1, Max = 1}));
var entitiesInRange = IoCManager.Resolve<IEntityLookup>().GetEntitiesInRange(coordinates, 2); var entitiesInRange = EntitySystem.Get<EntityLookupSystem>().GetEntitiesInRange(coordinates, 2);
var found = false; var found = false;
foreach (var entity in entitiesInRange) foreach (var entity in entitiesInRange)

View File

@@ -29,7 +29,7 @@ namespace Content.Server.Atmos.EntitySystems
if (airtight.FixAirBlockedDirectionInitialize) if (airtight.FixAirBlockedDirectionInitialize)
{ {
var rotateEvent = new RotateEvent(airtight.Owner, Angle.Zero, xform.WorldRotation); var rotateEvent = new RotateEvent(airtight.Owner, Angle.Zero, xform.WorldRotation, xform);
OnAirtightRotated(uid, airtight, ref rotateEvent); OnAirtightRotated(uid, airtight, ref rotateEvent);
} }

View File

@@ -15,7 +15,7 @@ namespace Content.Server.Atmos.EntitySystems
{ {
public sealed partial class AtmosphereSystem public sealed partial class AtmosphereSystem
{ {
[Dependency] private readonly IEntityLookup _lookup = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!;
private const int HotspotSoundCooldownCycles = 200; private const int HotspotSoundCooldownCycles = 200;

View File

@@ -167,7 +167,7 @@ namespace Content.Server.Cargo.Components
var offsets = new Vector2i[] { new Vector2i(0, 1), new Vector2i(1, 1), new Vector2i(1, 0), new Vector2i(1, -1), var offsets = new Vector2i[] { new Vector2i(0, 1), new Vector2i(1, 1), new Vector2i(1, 0), new Vector2i(1, -1),
new Vector2i(0, -1), new Vector2i(-1, -1), new Vector2i(-1, 0), new Vector2i(-1, 1), }; new Vector2i(0, -1), new Vector2i(-1, -1), new Vector2i(-1, 0), new Vector2i(-1, 1), };
var lookup = IoCManager.Resolve<IEntityLookup>(); var lookup = EntitySystem.Get<EntityLookupSystem>();
var gridId = _entMan.GetComponent<TransformComponent>(Owner).GridID; var gridId = _entMan.GetComponent<TransformComponent>(Owner).GridID;
// TODO: Should use anchoring. // TODO: Should use anchoring.

View File

@@ -101,7 +101,7 @@ namespace Content.Server.Chat.Commands
} }
} }
// Get all entities in range of the suicider // Get all entities in range of the suicider
var entities = IoCManager.Resolve<IEntityLookup>().GetEntitiesInRange(owner, 1, LookupFlags.Approximate | LookupFlags.IncludeAnchored).ToArray(); var entities = EntitySystem.Get<EntityLookupSystem>().GetEntitiesInRange(owner, 1, LookupFlags.Approximate | LookupFlags.IncludeAnchored).ToArray();
if (entities.Length > 0) if (entities.Length > 0)
{ {

View File

@@ -139,7 +139,7 @@ namespace Content.Server.Chemistry.Components
var xform = _entities.GetComponent<TransformComponent>(Owner); var xform = _entities.GetComponent<TransformComponent>(Owner);
var mapGrid = MapManager.GetGrid(xform.GridID); var mapGrid = MapManager.GetGrid(xform.GridID);
var tile = mapGrid.GetTileRef(xform.Coordinates.ToVector2i(_entities, MapManager)); var tile = mapGrid.GetTileRef(xform.Coordinates.ToVector2i(_entities, MapManager));
var lookup = IoCManager.Resolve<IEntityLookup>(); var lookup = EntitySystem.Get<EntityLookupSystem>();
var solutionFraction = 1 / Math.Floor(averageExposures); var solutionFraction = 1 / Math.Floor(averageExposures);

View File

@@ -26,7 +26,7 @@ namespace Content.Server.Chemistry.TileReactions
FixedPoint2 ITileReaction.TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume) FixedPoint2 ITileReaction.TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume)
{ {
var entities = IoCManager.Resolve<IEntityLookup>().GetEntitiesIntersecting(tile).ToArray(); var entities = EntitySystem.Get<EntityLookupSystem>().GetEntitiesIntersecting(tile).ToArray();
var amount = FixedPoint2.Zero; var amount = FixedPoint2.Zero;
var entMan = IoCManager.Resolve<IEntityManager>(); var entMan = IoCManager.Resolve<IEntityManager>();
foreach (var entity in entities) foreach (var entity in entities)

View File

@@ -52,7 +52,7 @@ namespace Content.Server.Construction.Conditions
var transform = entityManager.GetComponent<TransformComponent>(uid); var transform = entityManager.GetComponent<TransformComponent>(uid);
var indices = transform.Coordinates.ToVector2i(entityManager, IoCManager.Resolve<IMapManager>()); var indices = transform.Coordinates.ToVector2i(entityManager, IoCManager.Resolve<IMapManager>());
var entities = indices.GetEntitiesInTile(transform.GridID, LookupFlags.Approximate | LookupFlags.IncludeAnchored, IoCManager.Resolve<IEntityLookup>()); var entities = indices.GetEntitiesInTile(transform.GridID, LookupFlags.Approximate | LookupFlags.IncludeAnchored, EntitySystem.Get<EntityLookupSystem>());
foreach (var ent in entities) foreach (var ent in entities)
{ {

View File

@@ -76,7 +76,7 @@ namespace Content.Server.Construction
} }
} }
foreach (var near in IoCManager.Resolve<IEntityLookup>().GetEntitiesInRange(user!, 2f, LookupFlags.Approximate)) foreach (var near in EntitySystem.Get<EntityLookupSystem>().GetEntitiesInRange(user!, 2f, LookupFlags.Approximate))
{ {
yield return near; yield return near;
} }

View File

@@ -36,7 +36,7 @@ namespace Content.Server.Electrocution
{ {
public sealed class ElectrocutionSystem : SharedElectrocutionSystem public sealed class ElectrocutionSystem : SharedElectrocutionSystem
{ {
[Dependency] private readonly IEntityLookup _entityLookup = default!; [Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly StatusEffectsSystem _statusEffectsSystem = default!; [Dependency] private readonly StatusEffectsSystem _statusEffectsSystem = default!;

View File

@@ -45,7 +45,7 @@ namespace Content.Server.Explosion.EntitySystems
// TODO move this to the component // TODO move this to the component
private static readonly SoundSpecifier ExplosionSound = new SoundCollectionSpecifier("explosion"); private static readonly SoundSpecifier ExplosionSound = new SoundCollectionSpecifier("explosion");
[Dependency] private readonly IEntityLookup _entityLookup = default!; [Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly IMapManager _maps = default!; [Dependency] private readonly IMapManager _maps = default!;
[Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly IRobustRandom _random = default!;

View File

@@ -18,7 +18,7 @@ namespace Content.Server.Flash
{ {
internal sealed class FlashSystem : SharedFlashSystem internal sealed class FlashSystem : SharedFlashSystem
{ {
[Dependency] private readonly IEntityLookup _entityLookup = default!; [Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly StunSystem _stunSystem = default!; [Dependency] private readonly StunSystem _stunSystem = default!;
[Dependency] private readonly InventorySystem _inventorySystem = default!; [Dependency] private readonly InventorySystem _inventorySystem = default!;

View File

@@ -24,7 +24,7 @@ public sealed class SpillableSystem : EntitySystem
[Dependency] private readonly PuddleSystem _puddleSystem = default!; [Dependency] private readonly PuddleSystem _puddleSystem = default!;
[Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IEntityLookup _entityLookup = default!; [Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly AdminLogSystem _logSystem = default!; [Dependency] private readonly AdminLogSystem _logSystem = default!;
public override void Initialize() public override void Initialize()

View File

@@ -29,7 +29,7 @@ namespace Content.Server.Ghost
[Dependency] private readonly MindSystem _mindSystem = default!; [Dependency] private readonly MindSystem _mindSystem = default!;
[Dependency] private readonly SharedActionsSystem _actions = default!; [Dependency] private readonly SharedActionsSystem _actions = default!;
[Dependency] private readonly VisibilitySystem _visibilitySystem = default!; [Dependency] private readonly VisibilitySystem _visibilitySystem = default!;
[Dependency] private readonly IEntityLookup _lookup = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly FollowerSystem _followerSystem = default!; [Dependency] private readonly FollowerSystem _followerSystem = default!;
public override void Initialize() public override void Initialize()

View File

@@ -161,7 +161,7 @@ namespace Content.Server.Morgue.Components
yield break; yield break;
} }
var entityLookup = IoCManager.Resolve<IEntityLookup>(); var entityLookup = EntitySystem.Get<EntityLookupSystem>();
foreach (var entity in entityLookup.GetEntitiesIntersecting(_tray.Value, flags: LookupFlags.None)) foreach (var entity in entityLookup.GetEntitiesIntersecting(_tray.Value, flags: LookupFlags.None))
{ {
yield return entity; yield return entity;

View File

@@ -19,7 +19,7 @@ namespace Content.Server.Nuke
[Dependency] private readonly NukeCodeSystem _codes = default!; [Dependency] private readonly NukeCodeSystem _codes = default!;
[Dependency] private readonly ItemSlotsSystem _itemSlots = default!; [Dependency] private readonly ItemSlotsSystem _itemSlots = default!;
[Dependency] private readonly PopupSystem _popups = default!; [Dependency] private readonly PopupSystem _popups = default!;
[Dependency] private readonly IEntityLookup _lookup = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly IChatManager _chat = default!; [Dependency] private readonly IChatManager _chat = default!;
public override void Initialize() public override void Initialize()

View File

@@ -10,7 +10,7 @@ namespace Content.Server.Physics.Controllers
{ {
public sealed class ConveyorController : VirtualController public sealed class ConveyorController : VirtualController
{ {
[Dependency] private readonly IEntityLookup _lookup = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly ConveyorSystem _conveyor = default!; [Dependency] private readonly ConveyorSystem _conveyor = default!;
[Dependency] private readonly SharedContainerSystem _container = default!; [Dependency] private readonly SharedContainerSystem _container = default!;

View File

@@ -11,7 +11,7 @@ namespace Content.Server.Pinpointer
{ {
public sealed class ServerPinpointerSystem : SharedPinpointerSystem public sealed class ServerPinpointerSystem : SharedPinpointerSystem
{ {
[Dependency] private readonly IEntityLookup _entityLookup = default!; [Dependency] private readonly EntityLookupSystem _entityLookup = default!;
public override void Initialize() public override void Initialize()
{ {

View File

@@ -13,7 +13,7 @@ namespace Content.Server.Radiation
public sealed class RadiationPulseSystem : EntitySystem public sealed class RadiationPulseSystem : EntitySystem
{ {
[Dependency] private readonly IEntityManager _entMan = default!; [Dependency] private readonly IEntityManager _entMan = default!;
[Dependency] private readonly IEntityLookup _lookup = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!;
private const float RadiationCooldown = 1.0f; private const float RadiationCooldown = 1.0f;
private float _accumulator; private float _accumulator;

View File

@@ -17,7 +17,7 @@ namespace Content.Server.Singularity.EntitySystems
[UsedImplicitly] [UsedImplicitly]
public sealed class SingularitySystem : SharedSingularitySystem public sealed class SingularitySystem : SharedSingularitySystem
{ {
[Dependency] private readonly IEntityLookup _lookup = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly SharedContainerSystem _container = default!; [Dependency] private readonly SharedContainerSystem _container = default!;

View File

@@ -475,7 +475,7 @@ namespace Content.Server.Storage.Components
protected virtual IEnumerable<EntityUid> DetermineCollidingEntities() protected virtual IEnumerable<EntityUid> DetermineCollidingEntities()
{ {
var entityLookup = IoCManager.Resolve<IEntityLookup>(); var entityLookup = EntitySystem.Get<EntityLookupSystem>();
return entityLookup.GetEntitiesIntersecting(Owner, _enteringRange, LookupFlags.Approximate); return entityLookup.GetEntitiesIntersecting(Owner, _enteringRange, LookupFlags.Approximate);
} }

View File

@@ -565,7 +565,7 @@ namespace Content.Server.Storage.Components
if (_areaInsert && (eventArgs.Target == null || !_entityManager.HasComponent<SharedItemComponent>(eventArgs.Target.Value))) if (_areaInsert && (eventArgs.Target == null || !_entityManager.HasComponent<SharedItemComponent>(eventArgs.Target.Value)))
{ {
var validStorables = new List<EntityUid>(); var validStorables = new List<EntityUid>();
foreach (var entity in IoCManager.Resolve<IEntityLookup>().GetEntitiesInRange(eventArgs.ClickLocation, _areaInsertRadius, LookupFlags.None)) foreach (var entity in EntitySystem.Get<EntityLookupSystem>().GetEntitiesInRange(eventArgs.ClickLocation, _areaInsertRadius, LookupFlags.None))
{ {
if (entity.IsInContainer() if (entity.IsInContainer()
|| entity == eventArgs.User || entity == eventArgs.User

View File

@@ -10,7 +10,7 @@ namespace Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Systems;
public sealed class TelepathicArtifactSystem : EntitySystem public sealed class TelepathicArtifactSystem : EntitySystem
{ {
[Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly IEntityLookup _lookup = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly SharedPopupSystem _popupSystem = default!; [Dependency] private readonly SharedPopupSystem _popupSystem = default!;
public override void Initialize() public override void Initialize()

View File

@@ -51,7 +51,7 @@ public sealed class FollowerSystem : EntitySystem
// Since we parent our observer to the followed entity, we need to detach // Since we parent our observer to the followed entity, we need to detach
// before they get deleted so that we don't get recursively deleted too. // before they get deleted so that we don't get recursively deleted too.
private void OnFollowedTerminating(EntityUid uid, FollowedComponent component, EntityTerminatingEvent args) private void OnFollowedTerminating(EntityUid uid, FollowedComponent component, ref EntityTerminatingEvent args)
{ {
StopAllFollowers(uid, component); StopAllFollowers(uid, component);
} }

View File

@@ -157,9 +157,9 @@ namespace Content.Shared.Maps
/// Helper that returns all entities in a turf. /// Helper that returns all entities in a turf.
/// </summary> /// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)] [MethodImpl(MethodImplOptions.AggressiveInlining)]
public static IEnumerable<EntityUid> GetEntitiesInTile(this TileRef turf, LookupFlags flags = LookupFlags.IncludeAnchored, IEntityLookup? lookupSystem = null) public static IEnumerable<EntityUid> GetEntitiesInTile(this TileRef turf, LookupFlags flags = LookupFlags.IncludeAnchored, EntityLookupSystem? lookupSystem = null)
{ {
lookupSystem ??= IoCManager.Resolve<IEntityLookup>(); lookupSystem ??= EntitySystem.Get<EntityLookupSystem>();
if (!GetWorldTileBox(turf, out var worldBox)) if (!GetWorldTileBox(turf, out var worldBox))
return Enumerable.Empty<EntityUid>(); return Enumerable.Empty<EntityUid>();
@@ -170,7 +170,7 @@ namespace Content.Shared.Maps
/// <summary> /// <summary>
/// Helper that returns all entities in a turf. /// Helper that returns all entities in a turf.
/// </summary> /// </summary>
public static IEnumerable<EntityUid> GetEntitiesInTile(this EntityCoordinates coordinates, LookupFlags flags = LookupFlags.IncludeAnchored, IEntityLookup? lookupSystem = null) public static IEnumerable<EntityUid> GetEntitiesInTile(this EntityCoordinates coordinates, LookupFlags flags = LookupFlags.IncludeAnchored, EntityLookupSystem? lookupSystem = null)
{ {
var turf = coordinates.GetTileRef(); var turf = coordinates.GetTileRef();
@@ -183,7 +183,7 @@ namespace Content.Shared.Maps
/// <summary> /// <summary>
/// Helper that returns all entities in a turf. /// Helper that returns all entities in a turf.
/// </summary> /// </summary>
public static IEnumerable<EntityUid> GetEntitiesInTile(this Vector2i indices, GridId gridId, LookupFlags flags = LookupFlags.IncludeAnchored, IEntityLookup? lookupSystem = null) public static IEnumerable<EntityUid> GetEntitiesInTile(this Vector2i indices, GridId gridId, LookupFlags flags = LookupFlags.IncludeAnchored, EntityLookupSystem? lookupSystem = null)
{ {
return GetEntitiesInTile(indices.GetTileRef(gridId), flags, lookupSystem); return GetEntitiesInTile(indices.GetTileRef(gridId), flags, lookupSystem);
} }

View File

@@ -7,5 +7,6 @@
suffix: AI suffix: AI
components: components:
- type: UtilityAI - type: UtilityAI
startingGear: AssistantGear
behaviorSets: behaviorSets:
- PathingDummy - PathingDummy