Unrevert "Remove references to obsolete GridId" (#11531) (#11801)

This commit is contained in:
Leon Friedrich
2022-10-10 10:41:32 +13:00
committed by GitHub
parent e17e08f344
commit 41b1044ddb
7 changed files with 30 additions and 32 deletions

View File

@@ -73,17 +73,18 @@ namespace Content.Server.RCD.Systems
return;
// Try to fix it (i.e. if clicking on space)
// Note: Ideally there'd be a better way, but there isn't right now.
var gridID = clickLocationMod.GetGridId(EntityManager);
if (!gridID.IsValid())
var gridIdOpt = clickLocationMod.GetGridUid(EntityManager);
if (!(gridIdOpt is EntityUid gridId) || !gridId.IsValid())
{
clickLocationMod = clickLocationMod.AlignWithClosestGridTile();
gridID = clickLocationMod.GetGridId(EntityManager);
gridIdOpt = clickLocationMod.GetGridUid(EntityManager);
// Check if fixing it failed / get final grid ID
if (!(gridIdOpt is EntityUid gridId2) || !gridId2.IsValid())
return;
gridId = gridId2;
}
// Check if fixing it failed / get final grid ID
if (!gridID.IsValid())
return;
var mapGrid = _mapManager.GetGrid(gridID);
var mapGrid = _mapManager.GetGrid(gridId);
var tile = mapGrid.GetTileRef(clickLocationMod);
var snapPos = mapGrid.TileIndicesFor(clickLocationMod);
@@ -114,14 +115,14 @@ namespace Content.Server.RCD.Systems
//Floor mode just needs the tile to be a space tile (subFloor)
case RcdMode.Floors:
mapGrid.SetTile(snapPos, new Tile(_tileDefinitionManager["FloorSteel"].TileId));
_adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(args.User):user} used RCD to set grid: {tile.GridIndex} {snapPos} to FloorSteel");
_adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(args.User):user} used RCD to set grid: {tile.GridUid} {snapPos} to FloorSteel");
break;
//We don't want to place a space tile on something that's already a space tile. Let's do the inverse of the last check.
case RcdMode.Deconstruct:
if (!tile.IsBlockedTurf(true)) //Delete the turf
{
mapGrid.SetTile(snapPos, Tile.Empty);
_adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(args.User):user} used RCD to set grid: {tile.GridIndex} tile: {snapPos} to space");
_adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(args.User):user} used RCD to set grid: {tile.GridUid} tile: {snapPos} to space");
}
else //Delete what the user targeted
{
@@ -137,12 +138,12 @@ namespace Content.Server.RCD.Systems
case RcdMode.Walls:
var ent = EntityManager.SpawnEntity("WallSolid", mapGrid.GridTileToLocal(snapPos));
Transform(ent).LocalRotation = Angle.Zero; // Walls always need to point south.
_adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(args.User):user} used RCD to spawn {ToPrettyString(ent)} at {snapPos} on grid {mapGrid.Index}");
_adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(args.User):user} used RCD to spawn {ToPrettyString(ent)} at {snapPos} on grid {mapGrid.GridEntityId}");
break;
case RcdMode.Airlock:
var airlock = EntityManager.SpawnEntity("Airlock", mapGrid.GridTileToLocal(snapPos));
Transform(airlock).LocalRotation = Transform(rcd.Owner).LocalRotation; //Now apply icon smoothing.
_adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(args.User):user} used RCD to spawn {ToPrettyString(airlock)} at {snapPos} on grid {mapGrid.Index}");
_adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(args.User):user} used RCD to spawn {ToPrettyString(airlock)} at {snapPos} on grid {mapGrid.GridEntityId}");
break;
default:
args.Handled = true;