fis crap w/ grids being deleted while component events still ref

This commit is contained in:
Tyler Young
2020-06-22 21:02:50 -04:00
parent 4b64aa2b9d
commit 27aefeb35d
2 changed files with 7 additions and 4 deletions

View File

@@ -79,10 +79,9 @@ namespace Content.Client.GameObjects.EntitySystems
}
}
if (ev.LastPosition.HasValue)
// Entity is no longer valid, update around the last position it was at.
if (ev.LastPosition.HasValue && _mapManager.TryGetGrid(ev.LastPosition.Value.grid, out var grid))
{
// Entity is no longer valid, update around the last position it was at.
var grid = _mapManager.GetGrid(ev.LastPosition.Value.grid);
var pos = ev.LastPosition.Value.pos;
AddValidEntities(grid.GetSnapGridCell(pos + new MapIndices(1, 0), ev.Offset));

View File

@@ -60,7 +60,11 @@ namespace Content.Client.GameObjects.EntitySystems
private void HandleDirtyEvent(SubFloorHideDirtyEvent ev)
{
var grid = _mapManager.GetGrid(ev.Sender.Transform.GridID);
if (!_mapManager.TryGetGrid(ev.Sender.Transform.GridID, out var grid))
{
return;
}
var indices = grid.WorldToTile(ev.Sender.Transform.WorldPosition);
UpdateTile(grid, indices);
}