Completions for fixgridatmos (#8983)
* Completions for fixgridatmos * Fix stuff Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
committed by
GitHub
parent
4eccdc73ee
commit
97c74d5903
@@ -1,3 +1,4 @@
|
|||||||
|
using System.Linq;
|
||||||
using Content.Server.Administration;
|
using Content.Server.Administration;
|
||||||
using Content.Server.Atmos.Components;
|
using Content.Server.Atmos.Components;
|
||||||
using Content.Shared.Administration;
|
using Content.Shared.Administration;
|
||||||
@@ -16,7 +17,7 @@ public sealed partial class AtmosphereSystem
|
|||||||
// Fix Grid Atmos command.
|
// Fix Grid Atmos command.
|
||||||
_consoleHost.RegisterCommand("fixgridatmos",
|
_consoleHost.RegisterCommand("fixgridatmos",
|
||||||
"Makes every tile on a grid have a roundstart gas mix.",
|
"Makes every tile on a grid have a roundstart gas mix.",
|
||||||
"fixgridatmos <grid Ids>", FixGridAtmosCommand);
|
"fixgridatmos <grid Ids>", FixGridAtmosCommand, FixGridAtmosCommandCompletions);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ShutdownCommands()
|
private void ShutdownCommands()
|
||||||
@@ -57,11 +58,11 @@ public sealed partial class AtmosphereSystem
|
|||||||
mixtures[5].AdjustMoles(Gas.Plasma, Atmospherics.MolesCellGasMiner);
|
mixtures[5].AdjustMoles(Gas.Plasma, Atmospherics.MolesCellGasMiner);
|
||||||
mixtures[5].Temperature = 5000f;
|
mixtures[5].Temperature = 5000f;
|
||||||
|
|
||||||
foreach (var gid in args)
|
foreach (var arg in args)
|
||||||
{
|
{
|
||||||
if(!EntityUid.TryParse(gid, out var euid))
|
if(!EntityUid.TryParse(arg, out var euid))
|
||||||
{
|
{
|
||||||
shell.WriteError($"Failed to parse euid '{gid}'.");
|
shell.WriteError($"Failed to parse euid '{arg}'.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,4 +101,19 @@ public sealed partial class AtmosphereSystem
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private CompletionResult FixGridAtmosCommandCompletions(IConsoleShell shell, string[] args)
|
||||||
|
{
|
||||||
|
MapId? playerMap = null;
|
||||||
|
if (shell.Player is { AttachedEntity: { } playerEnt })
|
||||||
|
playerMap = Transform(playerEnt).MapID;
|
||||||
|
|
||||||
|
var options = _mapManager.GetAllGrids()
|
||||||
|
.OrderByDescending(e => playerMap != null && e.ParentMapId == playerMap)
|
||||||
|
.ThenBy(e => (int) e.ParentMapId)
|
||||||
|
.ThenBy(e => (int) e.GridEntityId)
|
||||||
|
.Select(e => new CompletionOption(e.GridEntityId.ToString(), $"{MetaData(e.GridEntityId).EntityName} - Map {e.ParentMapId}"));
|
||||||
|
|
||||||
|
return CompletionResult.FromOptions(options);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user