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

@@ -0,0 +1,58 @@
#nullable enable
using Robust.Shared.GameObjects;
using Robust.Shared.Interfaces.GameObjects;
using Robust.Shared.Interfaces.Map;
using Robust.Shared.IoC;
using Robust.Shared.Map;
using Vector2 = Robust.Shared.Maths.Vector2;
namespace Content.Shared.Utility
{
public static class EntityCoordinatesExtensions
{
public static EntityCoordinates ToCoordinates(this EntityUid id, Vector2 offset)
{
return new EntityCoordinates(id, offset);
}
public static EntityCoordinates ToCoordinates(this EntityUid id, float x, float y)
{
return new EntityCoordinates(id, x, y);
}
public static EntityCoordinates ToCoordinates(this EntityUid id)
{
return ToCoordinates(id, Vector2.Zero);
}
public static EntityCoordinates ToCoordinates(this IEntity entity, Vector2 offset)
{
return ToCoordinates(entity.Uid, offset);
}
public static EntityCoordinates ToCoordinates(this IEntity entity, float x, float y)
{
return new EntityCoordinates(entity.Uid, x, y);
}
public static EntityCoordinates ToCoordinates(this IEntity entity)
{
return ToCoordinates(entity.Uid, Vector2.Zero);
}
public static EntityCoordinates ToCoordinates(this IMapGrid grid, Vector2 offset)
{
return ToCoordinates(grid.GridEntityId, offset);
}
public static EntityCoordinates ToCoordinates(this IMapGrid grid, float x, float y)
{
return ToCoordinates(grid.GridEntityId, x, y);
}
public static EntityCoordinates ToCoordinates(this IMapGrid grid)
{
return ToCoordinates(grid.GridEntityId, Vector2.Zero);
}
}
}

View File

@@ -1,6 +1,5 @@
using System.Collections.Generic;
using Content.Shared.Maps;
using Robust.Shared.Interfaces.Map;
using Robust.Shared.Interfaces.Random;
using Robust.Shared.IoC;
using Robust.Shared.Map;
@@ -59,10 +58,8 @@ namespace Content.Shared.Utility
/// Gets tiles in random directions from the given one.
/// </summary>
/// <returns>An enumerable of the adjacent tiles.</returns>
public static IEnumerable<TileRef> AdjacentTilesRandom(this GridCoordinates coordinates, bool ignoreSpace = false)
public static IEnumerable<TileRef> AdjacentTilesRandom(this EntityCoordinates coordinates, bool ignoreSpace = false)
{
var mapManager = IoCManager.Resolve<IMapManager>();
foreach (var direction in RandomDirections())
{
var adjacent = coordinates.Offset(direction).GetTileRef();
@@ -81,7 +78,7 @@ namespace Content.Shared.Utility
}
}
public static GridCoordinates Offset(this GridCoordinates coordinates, Direction direction)
public static EntityCoordinates Offset(this EntityCoordinates coordinates, Direction direction)
{
return coordinates.Offset(direction.ToVec());
}

View File

@@ -4,7 +4,6 @@ using Content.Shared.Physics;
using Robust.Shared.GameObjects.Systems;
using Robust.Shared.Interfaces.GameObjects;
using Robust.Shared.Interfaces.GameObjects.Components;
using Robust.Shared.Interfaces.Map;
using Robust.Shared.IoC;
using Robust.Shared.Map;
using static Content.Shared.GameObjects.EntitySystems.SharedInteractionSystem;
@@ -59,7 +58,7 @@ namespace Content.Shared.Utility
public static bool InRangeUnobstructed(
this IEntity origin,
GridCoordinates other,
EntityCoordinates other,
float range = InteractionRange,
CollisionGroup collisionMask = CollisionGroup.Impassable,
Ignored predicate = null,
@@ -133,7 +132,7 @@ namespace Content.Shared.Utility
public static bool InRangeUnobstructed(
this IComponent origin,
GridCoordinates other,
EntityCoordinates other,
float range = InteractionRange,
CollisionGroup collisionMask = CollisionGroup.Impassable,
Ignored predicate = null,
@@ -210,7 +209,7 @@ namespace Content.Shared.Utility
public static bool InRangeUnobstructed(
this IContainer origin,
GridCoordinates other,
EntityCoordinates other,
float range = InteractionRange,
CollisionGroup collisionMask = CollisionGroup.Impassable,
Ignored predicate = null,
@@ -239,17 +238,17 @@ namespace Content.Shared.Utility
}
#endregion
#region GridCoordinates
#region EntityCoordinates
public static bool InRangeUnobstructed(
this GridCoordinates origin,
this EntityCoordinates origin,
IEntity other,
float range = InteractionRange,
CollisionGroup collisionMask = CollisionGroup.Impassable,
Ignored predicate = null,
bool ignoreInsideBlocker = false)
{
var mapManager = IoCManager.Resolve<IMapManager>();
var originPosition = origin.ToMap(mapManager);
var entityManager = IoCManager.Resolve<IEntityManager>();
var originPosition = origin.ToMap(entityManager);
var otherPosition = other.Transform.MapPosition;
return SharedInteractionSystem.InRangeUnobstructed(originPosition, otherPosition, range, collisionMask,
@@ -257,15 +256,15 @@ namespace Content.Shared.Utility
}
public static bool InRangeUnobstructed(
this GridCoordinates origin,
this EntityCoordinates origin,
IComponent other,
float range = InteractionRange,
CollisionGroup collisionMask = CollisionGroup.Impassable,
Ignored predicate = null,
bool ignoreInsideBlocker = false)
{
var mapManager = IoCManager.Resolve<IMapManager>();
var originPosition = origin.ToMap(mapManager);
var entityManager = IoCManager.Resolve<IEntityManager>();
var originPosition = origin.ToMap(entityManager);
var otherPosition = other.Owner.Transform.MapPosition;
return SharedInteractionSystem.InRangeUnobstructed(originPosition, otherPosition, range, collisionMask,
@@ -273,15 +272,15 @@ namespace Content.Shared.Utility
}
public static bool InRangeUnobstructed(
this GridCoordinates origin,
this EntityCoordinates origin,
IContainer other,
float range = InteractionRange,
CollisionGroup collisionMask = CollisionGroup.Impassable,
Ignored predicate = null,
bool ignoreInsideBlocker = false)
{
var mapManager = IoCManager.Resolve<IMapManager>();
var originPosition = origin.ToMap(mapManager);
var entityManager = IoCManager.Resolve<IEntityManager>();
var originPosition = origin.ToMap(entityManager);
var otherPosition = other.Owner.Transform.MapPosition;
return SharedInteractionSystem.InRangeUnobstructed(originPosition, otherPosition, range, collisionMask,
@@ -289,31 +288,31 @@ namespace Content.Shared.Utility
}
public static bool InRangeUnobstructed(
this GridCoordinates origin,
GridCoordinates other,
this EntityCoordinates origin,
EntityCoordinates other,
float range = InteractionRange,
CollisionGroup collisionMask = CollisionGroup.Impassable,
Ignored predicate = null,
bool ignoreInsideBlocker = false)
{
var mapManager = IoCManager.Resolve<IMapManager>();
var originPosition = origin.ToMap(mapManager);
var otherPosition = other.ToMap(mapManager);
var entityManager = IoCManager.Resolve<IEntityManager>();
var originPosition = origin.ToMap(entityManager);
var otherPosition = other.ToMap(entityManager);
return SharedInteractionSystem.InRangeUnobstructed(originPosition, otherPosition, range, collisionMask,
predicate, ignoreInsideBlocker);
}
public static bool InRangeUnobstructed(
this GridCoordinates origin,
this EntityCoordinates origin,
MapCoordinates other,
float range = InteractionRange,
CollisionGroup collisionMask = CollisionGroup.Impassable,
Ignored predicate = null,
bool ignoreInsideBlocker = false)
{
var mapManager = IoCManager.Resolve<IMapManager>();
var originPosition = origin.ToMap(mapManager);
var entityManager = IoCManager.Resolve<IEntityManager>();
var originPosition = origin.ToMap(entityManager);
return SharedInteractionSystem.InRangeUnobstructed(originPosition, other, range, collisionMask, predicate,
ignoreInsideBlocker);
@@ -365,14 +364,14 @@ namespace Content.Shared.Utility
public static bool InRangeUnobstructed(
this MapCoordinates origin,
GridCoordinates other,
EntityCoordinates other,
float range = InteractionRange,
CollisionGroup collisionMask = CollisionGroup.Impassable,
Ignored predicate = null,
bool ignoreInsideBlocker = false)
{
var mapManager = IoCManager.Resolve<IMapManager>();
var otherPosition = other.ToMap(mapManager);
var entityManager = IoCManager.Resolve<IEntityManager>();
var otherPosition = other.ToMap(entityManager);
return SharedInteractionSystem.InRangeUnobstructed(origin, otherPosition, range, collisionMask, predicate,
ignoreInsideBlocker);