Adds Invalidate method to TileAtmosphere, clean up a bunch of tile invalidations

This commit is contained in:
Vera Aguilera Puerto
2020-12-08 17:36:59 +01:00
parent 656eb7dc2e
commit 2b6964746c
10 changed files with 19 additions and 20 deletions

View File

@@ -65,15 +65,7 @@ namespace Content.Server.Atmos
public static bool InvalidateTileAir(this ITransformComponent transform, AtmosphereSystem? atmosSystem = null)
{
atmosSystem ??= EntitySystem.Get<AtmosphereSystem>();
if (!transform.Coordinates.TryGetTileAtmosphere(out var tileAtmos))
{
return false;
}
atmosSystem.GetGridAtmosphere(transform.GridID).Invalidate(tileAtmos.GridIndices);
return true;
return InvalidateTileAir(transform.Coordinates, atmosSystem);
}
public static bool InvalidateTileAir(this EntityCoordinates coordinates, AtmosphereSystem? atmosSystem = null, IEntityManager? entityManager = null)
@@ -86,8 +78,7 @@ namespace Content.Server.Atmos
return false;
}
var gridId = coordinates.GetGridId(entityManager);
atmosSystem.GetGridAtmosphere(gridId).Invalidate(tileAtmos.GridIndices);
tileAtmos.Invalidate();
return true;
}
}

View File

@@ -1177,6 +1177,14 @@ namespace Content.Server.Atmos
}
}
/// <summary>
/// Calls <see cref="GridAtmosphereComponent.Invalidate"/> on this tile atmosphere's position.
/// </summary>
public void Invalidate()
{
_gridAtmosphereComponent.Invalidate(GridIndices);
}
private void LastShareCheck()
{
var lastShare = Air.LastShare;

View File

@@ -70,7 +70,7 @@ namespace Content.Server.Commands.Atmos
}
tile.Air.AdjustMoles(gasId, moles);
gam.Invalidate(indices);
tile.Invalidate();
}
}
}

View File

@@ -162,7 +162,7 @@ namespace Content.Server.Commands.Atmos
tile.Air.Clear();
atmosphere.Invalidate(tile.GridIndices);
tile.Invalidate();
}
}
else
@@ -176,7 +176,7 @@ namespace Content.Server.Commands.Atmos
tile.Air.SetMoles(gas.Value, 0);
atmosphere.Invalidate(tile.GridIndices);
tile.Invalidate();
}
}

View File

@@ -55,7 +55,7 @@ namespace Content.Server.Commands.Atmos
foreach (var tile in gam)
{
tile.Air?.AdjustMoles(gasId, moles);
gam.Invalidate(tile.GridIndices);
tile.Invalidate();
}
}
}

View File

@@ -73,7 +73,7 @@ namespace Content.Server.Commands.Atmos
else
tile.Air.Remove(amount);
gam.Invalidate(indices);
tile.Invalidate();
}
}

View File

@@ -66,7 +66,7 @@ namespace Content.Server.Commands.Atmos
tiles++;
tile.Air.Temperature = temperature;
gam.Invalidate(tile.GridIndices);
tile.Invalidate();
}
shell.SendText(player, $"Changed the temperature of {tiles} tiles.");

View File

@@ -75,7 +75,7 @@ namespace Content.Server.Commands.Atmos
}
tile.Air.Temperature = temperature;
gam.Invalidate(indices);
tile.Invalidate();
}
}
}

View File

@@ -68,7 +68,7 @@ namespace Content.Server.GameObjects.Components.Atmos.Piping.Scrubbers
if (tileAtmos == null)
return;
ScrubGas(tileAtmos.Air, _scrubberOutlet.Air);
_atmosSystem.GetGridAtmosphere(Owner.Transform.GridID)?.Invalidate(tileAtmos.GridIndices);
tileAtmos.Invalidate();
}
protected abstract void ScrubGas(GasMixture inletGas, GasMixture outletGas);

View File

@@ -68,7 +68,7 @@ namespace Content.Server.GameObjects.Components.Atmos.Piping.Vents
if (tileAtmos == null)
return;
VentGas(_ventInlet.Air, tileAtmos.Air);
_atmosSystem.GetGridAtmosphere(Owner.Transform.GridID).Invalidate(tileAtmos.GridIndices);
tileAtmos.Invalidate();
}
protected abstract void VentGas(GasMixture inletGas, GasMixture outletGas);