GridCoordinates API changes.

This commit is contained in:
Acruid
2020-01-25 01:39:14 -08:00
parent a86363a6d2
commit a692899f5b
8 changed files with 14 additions and 19 deletions

View File

@@ -86,8 +86,7 @@ namespace Content.Server.GameObjects.Components.Movement
{
if (_teleporterType == TeleporterType.Directed)
{
var userTarget = eventArgs.ClickLocation.ToWorld(_mapManager);
TryDirectedTeleport(eventArgs.User, userTarget);
TryDirectedTeleport(eventArgs.User, eventArgs.ClickLocation.ToMap(_mapManager));
}
if (_teleporterType == TeleporterType.Random)
@@ -96,10 +95,10 @@ namespace Content.Server.GameObjects.Components.Movement
}
}
public void TryDirectedTeleport(IEntity user, GridCoordinates grid)
public void TryDirectedTeleport(IEntity user, MapCoordinates mapCoords)
{
// Checks
if (user.Transform.GridPosition.Distance(_mapManager, grid) > _range)
if ((user.Transform.WorldPosition - mapCoords.Position).LengthSquared > (_range * _range))
{
return;
}
@@ -110,7 +109,7 @@ namespace Content.Server.GameObjects.Components.Movement
}
if (_avoidCollidable)
{
foreach (var entity in _serverEntityManager.GetEntitiesIntersecting(grid))
foreach (var entity in _serverEntityManager.GetEntitiesIntersecting(mapCoords))
{
// Added this component to avoid stacking portals and causing shenanigans
// TODO: Doesn't do a great job of stopping stacking portals for directed
@@ -132,7 +131,7 @@ namespace Content.Server.GameObjects.Components.Movement
return;
}
Timer.Spawn(TimeSpan.FromSeconds(_chargeTime), () => Teleport(user, new Vector2(grid.X, grid.Y)));
Timer.Spawn(TimeSpan.FromSeconds(_chargeTime), () => Teleport(user, mapCoords.Position));
StartCooldown();
}

View File

@@ -28,7 +28,7 @@ namespace Content.Server.GameObjects.Components.Power
if(!_mapManager.TryGetGrid(eventArgs.ClickLocation.GridID, out var grid))
return;
var snapPos = grid.SnapGridCellFor(eventArgs.ClickLocation.ToWorld(_mapManager), SnapGridOffset.Center);
var snapPos = grid.SnapGridCellFor(eventArgs.ClickLocation, SnapGridOffset.Center);
var snapCell = grid.GetSnapGridCell(snapPos, SnapGridOffset.Center);
if(grid.GetTileRef(snapPos).Tile.IsEmpty)

View File

@@ -83,8 +83,7 @@ namespace Content.Server.GameObjects.Components.Weapon.Melee
return;
}
var location = eventArgs.User.Transform.GridPosition;
var angle = new Angle(eventArgs.ClickLocation.ToWorld(_mapManager).Position -
location.ToWorld(_mapManager).Position);
var angle = new Angle(eventArgs.ClickLocation.ToMapPos(_mapManager) - location.ToMapPos(_mapManager));
// This should really be improved. GetEntitiesInArc uses pos instead of bounding boxes.
var entities = ArcRayCast(eventArgs.User.Transform.WorldPosition, angle, eventArgs.User);