Fix inflatable position (#3788)

This commit is contained in:
ShadowCommander
2021-04-01 14:34:35 -07:00
committed by GitHub
parent b5b90d353f
commit faae4c2456
2 changed files with 19 additions and 4 deletions

View File

@@ -1,4 +1,4 @@
using System;
using System;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Map;
@@ -35,5 +35,18 @@ namespace Content.Server.Utility
return new EntityCoordinates(coordinates.EntityId, x, y);
}
public static EntityCoordinates SnapToGrid(this EntityCoordinates coordinates, IMapGrid grid,
SnapGridOffset offset = SnapGridOffset.Center)
{
var tileSize = grid.TileSize;
var localPos = coordinates.Position;
var x = (int)Math.Floor(localPos.X / tileSize) + tileSize / (offset == SnapGridOffset.Center ? 2f : 0f);
var y = (int)Math.Floor(localPos.Y / tileSize) + tileSize / (offset == SnapGridOffset.Center ? 2f : 0f);
return new EntityCoordinates(coordinates.EntityId, x, y);
}
}
}