Partial atmos refactor (#22521)

* Reduce atmos component queries

* Remove method events

* Cache airtight data

* Make MolesArchived nullable

* Fix airtight cache

* only get tile def once

* Immutable mixtures

* firelock queries

* misc

* misc cleanup

* Trim disconnected tiles

* Fix merge issues and bugs

* Why does the PR keep increasing in scope

* debug overlay

* Fix bugs

* Fix test, remove unused events

* Add setmapatmos command

* Fix overlays

* Add map check

* A

* Resolve conflicts with #26102

* Remove some obsolete methods
This commit is contained in:
Leon Friedrich
2024-03-24 03:34:56 +11:00
committed by GitHub
parent 05f282f5ce
commit 18a35e7e83
43 changed files with 922 additions and 666 deletions

View File

@@ -12,22 +12,6 @@ namespace Content.Shared.Maps
// That, or make the interface arguments non-optional so people stop failing to pass them in.
public static class TurfHelpers
{
/// <summary>
/// Attempts to get the turf at map indices with grid id or null if no such turf is found.
/// </summary>
public static TileRef GetTileRef(this Vector2i vector2i, EntityUid gridId, IEntityManager? entityManager = null)
{
entityManager ??= IoCManager.Resolve<IEntityManager>();
if (!entityManager.TryGetComponent<MapGridComponent>(gridId, out var grid))
return default;
if (!grid.TryGetTileRef(vector2i, out var tile))
return default;
return tile;
}
/// <summary>
/// Attempts to get the turf at a certain coordinates or null if no such turf is found.
/// </summary>
@@ -68,7 +52,7 @@ namespace Content.Shared.Maps
/// </summary>
public static bool IsSpace(this Tile tile, ITileDefinitionManager? tileDefinitionManager = null)
{
return tile.GetContentTileDefinition(tileDefinitionManager).IsSpace;
return tile.GetContentTileDefinition(tileDefinitionManager).MapAtmosphere;
}
/// <summary>
@@ -116,15 +100,6 @@ namespace Content.Shared.Maps
return GetEntitiesInTile(turf.Value, flags, lookupSystem);
}
/// <summary>
/// Helper that returns all entities in a turf.
/// </summary>
[Obsolete("Use the lookup system")]
public static IEnumerable<EntityUid> GetEntitiesInTile(this Vector2i indices, EntityUid gridId, LookupFlags flags = LookupFlags.Static, EntityLookupSystem? lookupSystem = null)
{
return GetEntitiesInTile(indices.GetTileRef(gridId), flags, lookupSystem);
}
/// <summary>
/// Checks if a turf has something dense on it.
/// </summary>