| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- using System.Diagnostics.CodeAnalysis;
- using Content.Server.Administration;
- using Content.Shared.Access.Components;
- using Content.Shared.Administration;
- using Robust.Server.Player;
- using Robust.Shared.Console;
- namespace Content.Server.Mind.Commands;
- [AdminCommand(AdminFlags.VarEdit)]
- public sealed class RenameCommand : LocalizedEntityCommands
- {
- [Dependency] private readonly IEntityManager _entManager = default!;
- [Dependency] private readonly IPlayerManager _playerManager = default!;
- [Dependency] private readonly MetaDataSystem _metaSystem = default!;
- public override string Command => "rename";
- public override void Execute(IConsoleShell shell, string argStr, string[] args)
- {
- if (args.Length != 2)
- {
- shell.WriteLine(Help);
- return;
- }
- var name = args[1];
- if (name.Length > IdCardConsoleComponent.MaxFullNameLength)
- {
- shell.WriteLine(Loc.GetString("cmd-rename-too-long"));
- return;
- }
- if (!TryParseUid(args[0], shell, _entManager, out var entityUid))
- return;
- _metaSystem.SetEntityName(entityUid.Value, name);
- }
- private bool TryParseUid(string str, IConsoleShell shell,
- IEntityManager entMan, [NotNullWhen(true)] out EntityUid? entityUid)
- {
- if (NetEntity.TryParse(str, out var entityUidNet) && _entManager.TryGetEntity(entityUidNet, out entityUid) && entMan.EntityExists(entityUid))
- return true;
- if (_playerManager.TryGetSessionByUsername(str, out var session) && session.AttachedEntity.HasValue)
- {
- entityUid = session.AttachedEntity.Value;
- return true;
- }
- if (session == null)
- shell.WriteError(Loc.GetString("cmd-rename-not-found", ("target", str)));
- else
- shell.WriteError(Loc.GetString("cmd-rename-no-entity", ("target", str)));
- entityUid = EntityUid.Invalid;
- return false;
- }
- }
|