mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-15 03:30:53 +01:00
Entity<T> overloads for some MapSystem methods.
GetTileRef, TileIndicesFor, and GetAnchoredEntities
This commit is contained in:
@@ -40,6 +40,7 @@ END TEMPLATE-->
|
||||
### New features
|
||||
|
||||
* `MarkupNode` is now `IEquatable<MarkupNode>`. It already supported equality checks, now it implements the interface.
|
||||
* Added `Entity<T>` overloads to the following `SharedMapSystem` methods: `GetTileRef`, `GetAnchoredEntities`, `TileIndicesFor`.
|
||||
|
||||
### Bugfixes
|
||||
|
||||
|
||||
@@ -707,16 +707,31 @@ public abstract partial class SharedMapSystem
|
||||
|
||||
#region TileAccess
|
||||
|
||||
public TileRef GetTileRef(Entity<MapGridComponent> grid, MapCoordinates coords)
|
||||
{
|
||||
return GetTileRef(grid.Owner, grid.Comp, coords);
|
||||
}
|
||||
|
||||
public TileRef GetTileRef(EntityUid uid, MapGridComponent grid, MapCoordinates coords)
|
||||
{
|
||||
return GetTileRef(uid, grid, CoordinatesToTile(uid, grid, coords));
|
||||
}
|
||||
|
||||
public TileRef GetTileRef(Entity<MapGridComponent> grid, EntityCoordinates coords)
|
||||
{
|
||||
return GetTileRef(grid.Owner, grid.Comp, coords);
|
||||
}
|
||||
|
||||
public TileRef GetTileRef(EntityUid uid, MapGridComponent grid, EntityCoordinates coords)
|
||||
{
|
||||
return GetTileRef(uid, grid, CoordinatesToTile(uid, grid, coords));
|
||||
}
|
||||
|
||||
public TileRef GetTileRef(Entity<MapGridComponent> grid, Vector2i tileCoordinates)
|
||||
{
|
||||
return GetTileRef(grid.Owner, grid.Comp, tileCoordinates);
|
||||
}
|
||||
|
||||
public TileRef GetTileRef(EntityUid uid, MapGridComponent grid, Vector2i tileCoordinates)
|
||||
{
|
||||
var chunkIndices = GridTileToChunkIndices(uid, grid, tileCoordinates);
|
||||
@@ -1089,16 +1104,31 @@ public abstract partial class SharedMapSystem
|
||||
return chunk.GetSnapGrid((ushort)x, (ushort)y)?.Count ?? 0; // ?
|
||||
}
|
||||
|
||||
public IEnumerable<EntityUid> GetAnchoredEntities(Entity<MapGridComponent> grid, MapCoordinates coords)
|
||||
{
|
||||
return GetAnchoredEntities(grid.Owner, grid.Comp, coords);
|
||||
}
|
||||
|
||||
public IEnumerable<EntityUid> GetAnchoredEntities(EntityUid uid, MapGridComponent grid, MapCoordinates coords)
|
||||
{
|
||||
return GetAnchoredEntities(uid, grid, TileIndicesFor(uid, grid, coords));
|
||||
}
|
||||
|
||||
public IEnumerable<EntityUid> GetAnchoredEntities(Entity<MapGridComponent> grid, EntityCoordinates coords)
|
||||
{
|
||||
return GetAnchoredEntities(grid.Owner, grid.Comp, coords);
|
||||
}
|
||||
|
||||
public IEnumerable<EntityUid> GetAnchoredEntities(EntityUid uid, MapGridComponent grid, EntityCoordinates coords)
|
||||
{
|
||||
return GetAnchoredEntities(uid, grid, TileIndicesFor(uid, grid, coords));
|
||||
}
|
||||
|
||||
public IEnumerable<EntityUid> GetAnchoredEntities(Entity<MapGridComponent> grid, Vector2i pos)
|
||||
{
|
||||
return GetAnchoredEntities(grid.Owner, grid.Comp, pos);
|
||||
}
|
||||
|
||||
public IEnumerable<EntityUid> GetAnchoredEntities(EntityUid uid, MapGridComponent grid, Vector2i pos)
|
||||
{
|
||||
// Because some content stuff checks neighboring tiles (which may not actually exist) we won't just
|
||||
@@ -1191,6 +1221,11 @@ public abstract partial class SharedMapSystem
|
||||
return SnapGridLocalCellFor(uid, grid, LocalToGrid(uid, grid, coords));
|
||||
}
|
||||
|
||||
public Vector2i TileIndicesFor(Entity<MapGridComponent> grid, EntityCoordinates coords)
|
||||
{
|
||||
return TileIndicesFor(grid.Owner, grid.Comp, coords);
|
||||
}
|
||||
|
||||
public Vector2i TileIndicesFor(EntityUid uid, MapGridComponent grid, MapCoordinates worldPos)
|
||||
{
|
||||
#if DEBUG
|
||||
@@ -1202,6 +1237,11 @@ public abstract partial class SharedMapSystem
|
||||
return SnapGridLocalCellFor(uid, grid, localPos);
|
||||
}
|
||||
|
||||
public Vector2i TileIndicesFor(Entity<MapGridComponent> grid, MapCoordinates coords)
|
||||
{
|
||||
return TileIndicesFor(grid.Owner, grid.Comp, coords);
|
||||
}
|
||||
|
||||
private Vector2i SnapGridLocalCellFor(EntityUid uid, MapGridComponent grid, Vector2 localPos)
|
||||
{
|
||||
var x = (int)Math.Floor(localPos.X / grid.TileSize);
|
||||
|
||||
Reference in New Issue
Block a user