Update tilechangedevent to ref structs (#13383)

This commit is contained in:
metalgearsloth
2023-01-09 13:45:21 +11:00
committed by GitHub
parent 2ee5eaeeec
commit 243fd73db4
7 changed files with 11 additions and 17 deletions

View File

@@ -59,7 +59,7 @@ public sealed partial class AtmosphereSystem : SharedAtmosphereSystem
ShutdownCommands();
}
private void OnTileChanged(TileChangedEvent ev)
private void OnTileChanged(ref TileChangedEvent ev)
{
InvalidateTile(ev.NewTile.GridUid, ev.NewTile.GridIndices);
}

View File

@@ -21,7 +21,7 @@ public sealed class AutomaticAtmosSystem : EntitySystem
SubscribeLocalEvent<TileChangedEvent>(OnTileChanged);
}
private void OnTileChanged(TileChangedEvent ev)
private void OnTileChanged(ref TileChangedEvent ev)
{
// Only if a atmos-holding tile has been added or removed.
// Also, these calls are surprisingly slow.

View File

@@ -159,7 +159,7 @@ namespace Content.Server.Decals
_conf.UnsubValueChanged(CVars.NetPVS, OnPvsToggle);
}
private void OnTileChanged(TileChangedEvent args)
private void OnTileChanged(ref TileChangedEvent args)
{
if (!args.NewTile.IsSpace(_tileDefMan))
return;

View File

@@ -221,7 +221,7 @@ public sealed partial class ExplosionSystem : EntitySystem
/// <summary>
/// When a tile is updated, we might need to update the grid edge maps.
/// </summary>
private void OnTileChanged(TileChangedEvent ev)
private void OnTileChanged(ref TileChangedEvent ev)
{
// only need to update the grid-edge map if a tile was added or removed from the grid.
if (!ev.NewTile.Tile.IsEmpty && !ev.OldTile.IsEmpty)

View File

@@ -53,7 +53,7 @@ public sealed partial class PathfindingSystem
SubscribeLocalEvent<MoveEvent>(OnMoveEvent);
}
private void OnTileChange(TileChangedEvent ev)
private void OnTileChange(ref TileChangedEvent ev)
{
if (ev.OldTile.IsEmpty == ev.NewTile.Tile.IsEmpty)
return;

View File

@@ -62,7 +62,7 @@ namespace Content.Server.Shuttles.Systems
SubscribeLocalEvent<ThrusterComponent, RefreshPartsEvent>(OnRefreshParts);
SubscribeLocalEvent<ThrusterComponent, UpgradeExamineEvent>(OnUpgradeExamine);
_mapManager.TileChanged += OnTileChange;
SubscribeLocalEvent<ShuttleComponent, TileChangedEvent>(OnShuttleTileChange);
}
private void OnThrusterExamine(EntityUid uid, ThrusterComponent component, ExaminedEvent args)
@@ -89,24 +89,18 @@ namespace Content.Server.Shuttles.Systems
}
}
public override void Shutdown()
{
base.Shutdown();
_mapManager.TileChanged -= OnTileChange;
}
private void OnIsHotEvent(EntityUid uid, ThrusterComponent component, IsHotEvent args)
{
args.IsHot = component.Type != ThrusterType.Angular && component.IsOn;
}
private void OnTileChange(object? sender, TileChangedEventArgs e)
private void OnShuttleTileChange(EntityUid uid, ShuttleComponent component, ref TileChangedEvent args)
{
// If the old tile was space but the new one isn't then disable all adjacent thrusters
if (e.NewTile.IsSpace(_tileDefManager) || !e.OldTile.IsSpace(_tileDefManager)) return;
if (args.NewTile.IsSpace(_tileDefManager) || !args.OldTile.IsSpace(_tileDefManager)) return;
var tilePos = e.NewTile.GridIndices;
var grid = _mapManager.GetGrid(e.NewTile.GridUid);
var tilePos = args.NewTile.GridIndices;
var grid = _mapManager.GetGrid(uid);
var xformQuery = GetEntityQuery<TransformComponent>();
var thrusterQuery = GetEntityQuery<ThrusterComponent>();

View File

@@ -80,7 +80,7 @@ namespace Content.Shared.SubFloor
}
}
private void OnTileChanged(TileChangedEvent args)
private void OnTileChanged(ref TileChangedEvent args)
{
if (args.OldTile.IsEmpty)
return; // Nothing is anchored here anyways.