Kills TurfHelpers (#37939)
* Create TurfSystem equivalent for and obsolete TurfHelpers.GetTileRef * Fix EntitySystem uses of TurfHelpers.GetTileRef * Fix EntitySystem uses of TurfHelpers.TryGetTileRef * Fix construction condition uses of TurfHelpers.GetTileRef * Fix last use of TurfHelpers.IsBlockedTurf * Create TurfSystem equivalent to and obsolete TurfHelpers.GetContentTileDefinition * Fix uses of TurfHelpers.GetContentTileDefinition(TileRef) * Fix uses of TurfHelpers.GetContentTileDefinition(Tile) * Create TurfSystem equivalent to and obsolete TurfHelpers.IsSpace * Fix EntitySystem uses of TurfHelpers.IsSpace(Tile) * Fix EntitySystem uses of TurfHelpers.IsSpace(TileRef) * Fix remaining uses of TurfHelpers.IsSpace * Fix uses of TurfHelpers.GetEntitiesInTile * Delete TurfHelpers.cs * Add GetEntitiesInTile lookup methods * Convert some GetEntitiesInTile methods to LookupSystem extension methods * Use new GetEntitiesInTile methods * Recycle spiderweb hashset * Recycle floor tile hashset
This commit is contained in:
@@ -10,6 +10,13 @@ namespace Content.Server.Spider;
|
||||
public sealed class SpiderSystem : SharedSpiderSystem
|
||||
{
|
||||
[Dependency] private readonly PopupSystem _popup = default!;
|
||||
[Dependency] private readonly EntityLookupSystem _lookup = default!;
|
||||
[Dependency] private readonly TurfSystem _turf = default!;
|
||||
|
||||
/// <summary>
|
||||
/// A recycled hashset used to check turfs for spiderwebs.
|
||||
/// </summary>
|
||||
private readonly HashSet<EntityUid> _webs = [];
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -66,7 +73,9 @@ public sealed class SpiderSystem : SharedSpiderSystem
|
||||
|
||||
private bool IsTileBlockedByWeb(EntityCoordinates coords)
|
||||
{
|
||||
foreach (var entity in coords.GetEntitiesInTile())
|
||||
_webs.Clear();
|
||||
_turf.GetEntitiesInTile(coords, _webs);
|
||||
foreach (var entity in _webs)
|
||||
{
|
||||
if (HasComp<SpiderWebObjectComponent>(entity))
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user