Replace every usage of GridCoordinates with EntityCoordinates (#2021)

* Update RobustToolbox

* Transition direct type usages

* More updates

* Fix invalid use of to map

* Update RobustToolbox

* Fix dropping items

* Rename name usages of "GridCoordinates" to "EntityCoordinates"

* Revert "Update RobustToolbox"

This reverts commit 9f334a17c5908ded0043a63158bb671e4aa3f346.

* Revert "Update RobustToolbox"

This reverts commit 3a9c8cfa3606fa501aa84407796d2ad920853a09.

# Conflicts:
#	RobustToolbox

* Fix cursed IMapGrid method usage.

* GridTileLookupTest now uses EntityCoordinates

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
This commit is contained in:
DrSmugleaf
2020-09-06 16:11:53 +02:00
committed by GitHub
parent 72d2318ea7
commit 48b61f6bcc
196 changed files with 780 additions and 676 deletions

View File

@@ -45,33 +45,36 @@ namespace Content.Shared.Maps
/// <summary>
/// Attempts to get the turf at a certain coordinates or null if no such turf is found.
/// </summary>
public static TileRef? GetTileRef(this GridCoordinates coordinates)
public static TileRef? GetTileRef(this EntityCoordinates coordinates, IEntityManager? entityManager = null, IMapManager? mapManager = null)
{
if (!coordinates.GridID.IsValid())
entityManager ??= IoCManager.Resolve<IEntityManager>();
if (!coordinates.IsValid(entityManager))
return null;
var mapManager = IoCManager.Resolve<IMapManager>();
mapManager ??= IoCManager.Resolve<IMapManager>();
if (!mapManager.TryGetGrid(coordinates.GridID, out var grid))
if (!mapManager.TryGetGrid(coordinates.GetGridId(entityManager), out var grid))
return null;
if (!grid.TryGetTileRef(coordinates.ToMapIndices(mapManager), out var tile))
if (!grid.TryGetTileRef(coordinates.ToMapIndices(entityManager, mapManager), out var tile))
return null;
return tile;
}
public static bool TryGetTileRef(this GridCoordinates coordinates, [NotNullWhen(true)] out TileRef? turf)
public static bool TryGetTileRef(this EntityCoordinates coordinates, [NotNullWhen(true)] out TileRef? turf)
{
return (turf = coordinates.GetTileRef()) != null;
}
public static bool PryTile(this GridCoordinates coordinates,
IMapManager? mapManager = null, ITileDefinitionManager? tileDefinitionManager = null, IEntityManager? entityManager = null)
public static bool PryTile(this EntityCoordinates coordinates, IEntityManager? entityManager = null,
IMapManager? mapManager = null)
{
entityManager ??= IoCManager.Resolve<IEntityManager>();
mapManager ??= IoCManager.Resolve<IMapManager>();
return coordinates.ToMapIndices(mapManager).PryTile(coordinates.GridID);
return coordinates.ToMapIndices(entityManager, mapManager).PryTile(coordinates.GetGridId(entityManager));
}
public static bool PryTile(this MapIndices indices, GridId gridId,
@@ -109,7 +112,7 @@ namespace Content.Shared.Maps
var half = mapGrid.TileSize / 2f;
//Actually spawn the relevant tile item at the right position and give it some random offset.
var tileItem = entityManager.SpawnEntity(tileDef.ItemDropPrototypeName, indices.ToGridCoordinates(mapManager, tileRef.GridIndex).Offset(new Vector2(half, half)));
var tileItem = entityManager.SpawnEntity(tileDef.ItemDropPrototypeName, indices.ToEntityCoordinates(mapManager, tileRef.GridIndex).Offset(new Vector2(half, half)));
tileItem.RandomOffset(0.25f);
return true;
}
@@ -147,9 +150,11 @@ namespace Content.Shared.Maps
return false;
}
public static GridCoordinates GridPosition(this TileRef turf)
public static EntityCoordinates GridPosition(this TileRef turf, IMapManager? mapManager = null)
{
return new GridCoordinates(turf.X, turf.Y, turf.GridIndex);
mapManager ??= IoCManager.Resolve<IMapManager>();
return turf.GridIndices.ToEntityCoordinates(mapManager, turf.GridIndex);
}
/// <summary>