Files
tbd-station-14/Content.Client/Commands/SetMenuVisibilityCommand.cs
metalgearsloth 7cb6b5e972 Verb tweaks (#31309)
* Verb tweaks

Remove the LOS check because this is already done above in CanExamine.

* Fix outlines

* import
2024-08-25 22:05:39 +10:00

56 lines
1.8 KiB
C#

using Content.Client.Verbs;
using Content.Shared.Verbs;
using JetBrains.Annotations;
using Robust.Shared.Console;
namespace Content.Client.Commands;
[UsedImplicitly]
internal sealed class SetMenuVisibilityCommand : LocalizedCommands
{
[Dependency] private readonly IEntitySystemManager _entitySystemManager = default!;
public override string Command => "menuvis";
public override string Help => LocalizationManager.GetString($"cmd-{Command}-help", ("command", Command));
public override void Execute(IConsoleShell shell, string argStr, string[] args)
{
if (!TryParseArguments(shell, args, out var visibility))
return;
_entitySystemManager.GetEntitySystem<VerbSystem>().Visibility = visibility;
}
private bool TryParseArguments(IConsoleShell shell, string[] args, out MenuVisibility visibility)
{
visibility = MenuVisibility.Default;
foreach (var arg in args)
{
switch (arg.ToLower())
{
// ReSharper disable once StringLiteralTypo
case "nofov":
visibility |= MenuVisibility.NoFov;
break;
// ReSharper disable once StringLiteralTypo
case "incontainer":
visibility |= MenuVisibility.InContainer;
break;
case "invisible":
visibility |= MenuVisibility.Invisible;
break;
case "all":
visibility |= MenuVisibility.All;
break;
default:
shell.WriteError(LocalizationManager.GetString($"cmd-{Command}-error", ("arg", arg)));
return false;
}
}
return true;
}
}