diff --git a/Content.Client/Animations/ReusableAnimations.cs b/Content.Client/Animations/ReusableAnimations.cs index 8c90c5101f..26115fa20e 100644 --- a/Content.Client/Animations/ReusableAnimations.cs +++ b/Content.Client/Animations/ReusableAnimations.cs @@ -23,7 +23,7 @@ namespace Content.Client.Animations var animatableClone = entMan.SpawnEntity("clientsideclone", initialPosition); string val = entMan.GetComponent(entity).EntityName; - entMan.GetComponent(animatableClone).EntityName = val; + entMan.System().SetEntityName(animatableClone, val); if (!entMan.TryGetComponent(entity, out SpriteComponent? sprite0)) { diff --git a/Content.Server/Administration/Commands/AGhost.cs b/Content.Server/Administration/Commands/AGhost.cs index 99cb168438..279a254089 100644 --- a/Content.Server/Administration/Commands/AGhost.cs +++ b/Content.Server/Administration/Commands/AGhost.cs @@ -33,8 +33,9 @@ namespace Content.Server.Administration.Commands shell.WriteLine("You can't ghost here!"); return; } - + var mindSystem = _entities.System(); + var metaDataSystem = _entities.System(); if (mind.VisitingEntity != default && _entities.TryGetComponent(mind.VisitingEntity, out var oldGhostComponent)) { @@ -55,16 +56,16 @@ namespace Content.Server.Administration.Commands if (canReturn) { // TODO: Remove duplication between all this and "GamePreset.OnGhostAttempt()"... - if(!string.IsNullOrWhiteSpace(mind.CharacterName)) - _entities.GetComponent(ghost).EntityName = mind.CharacterName; + if (!string.IsNullOrWhiteSpace(mind.CharacterName)) + metaDataSystem.SetEntityName(ghost, mind.CharacterName); else if (!string.IsNullOrWhiteSpace(mind.Session?.Name)) - _entities.GetComponent(ghost).EntityName = mind.Session.Name; + metaDataSystem.SetEntityName(ghost, mind.Session.Name); mindSystem.Visit(mind, ghost); } else { - _entities.GetComponent(ghost).EntityName = player.Name; + metaDataSystem.SetEntityName(ghost, player.Name); mindSystem.TransferTo(mind, ghost); } diff --git a/Content.Server/Administration/Commands/OwoifyCommand.cs b/Content.Server/Administration/Commands/OwoifyCommand.cs index b91bfea36c..73a1236d19 100644 --- a/Content.Server/Administration/Commands/OwoifyCommand.cs +++ b/Content.Server/Administration/Commands/OwoifyCommand.cs @@ -34,10 +34,10 @@ public sealed class OwoifyCommand : IConsoleCommand var meta = entityManager.GetComponent(eUid); - var random = IoCManager.Resolve(); - var owoSys = EntitySystem.Get(); + var owoSys = entityManager.System(); + var metaDataSys = entityManager.System(); - meta.EntityName = owoSys.Accentuate(meta.EntityName); - meta.EntityDescription = owoSys.Accentuate(meta.EntityDescription); + metaDataSys.SetEntityName(eUid, owoSys.Accentuate(meta.EntityName), meta); + metaDataSys.SetEntityDescription(eUid, owoSys.Accentuate(meta.EntityDescription), meta); } } diff --git a/Content.Server/Atmos/EntitySystems/AtmosPlaqueSystem.cs b/Content.Server/Atmos/EntitySystems/AtmosPlaqueSystem.cs index ed514278a6..0d7cdec5ac 100644 --- a/Content.Server/Atmos/EntitySystems/AtmosPlaqueSystem.cs +++ b/Content.Server/Atmos/EntitySystems/AtmosPlaqueSystem.cs @@ -9,6 +9,7 @@ public sealed class AtmosPlaqueSystem : EntitySystem { [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public override void Initialize() { @@ -34,7 +35,7 @@ public sealed class AtmosPlaqueSystem : EntitySystem public void UpdateSign(EntityUid uid, AtmosPlaqueComponent component) { - var metaData = MetaData(component.Owner); + var metaData = MetaData(uid); var val = component.Type switch { @@ -50,7 +51,7 @@ public sealed class AtmosPlaqueSystem : EntitySystem _ => Loc.GetString("atmos-plaque-component-desc-unset"), }; - metaData.EntityDescription = val; + _metaData.SetEntityDescription(uid, val, metaData); var val1 = component.Type switch { @@ -66,9 +67,9 @@ public sealed class AtmosPlaqueSystem : EntitySystem _ => Loc.GetString("atmos-plaque-component-name-unset"), }; - metaData.EntityName = val1; + _metaData.SetEntityName(uid, val1, metaData); - if (TryComp(component.Owner, out var appearance)) + if (TryComp(uid, out var appearance)) { var state = component.Type == PlaqueType.Zumos ? "zumosplaque" : "atmosplaque"; diff --git a/Content.Server/BarSign/Systems/BarSignSystem.cs b/Content.Server/BarSign/Systems/BarSignSystem.cs index 503fea663e..c26fe2c288 100644 --- a/Content.Server/BarSign/Systems/BarSignSystem.cs +++ b/Content.Server/BarSign/Systems/BarSignSystem.cs @@ -10,6 +10,7 @@ namespace Content.Server.BarSign.Systems { [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public override void Initialize() { @@ -36,8 +37,8 @@ namespace Content.Server.BarSign.Systems var meta = Comp(uid); var name = newPrototype.Name != string.Empty ? newPrototype.Name : "barsign-component-name"; - meta.EntityName = Loc.GetString(name); - meta.EntityDescription = Loc.GetString(newPrototype.Description); + _metaData.SetEntityName(uid, Loc.GetString(name), meta); + _metaData.SetEntityDescription(uid, Loc.GetString(newPrototype.Description), meta); component.CurrentSign = newPrototype.ID; Dirty(component); diff --git a/Content.Server/Botany/Systems/BotanySystem.Seed.cs b/Content.Server/Botany/Systems/BotanySystem.Seed.cs index da8f5bfc6a..c878c3ab68 100644 --- a/Content.Server/Botany/Systems/BotanySystem.Seed.cs +++ b/Content.Server/Botany/Systems/BotanySystem.Seed.cs @@ -28,6 +28,7 @@ public sealed partial class BotanySystem : EntitySystem [Dependency] private readonly PopupSystem _popupSystem = default!; [Dependency] private readonly IRobustRandom _robustRandom = default!; [Dependency] private readonly SolutionContainerSystem _solutionContainerSystem = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public override void Initialize() { @@ -102,7 +103,7 @@ public sealed partial class BotanySystem : EntitySystem var name = Loc.GetString(proto.Name); var noun = Loc.GetString(proto.Noun); var val = Loc.GetString("botany-seed-packet-name", ("seedName", name), ("seedNoun", noun)); - MetaData(seed).EntityName = val; + _metaData.SetEntityName(seed, val); // try to automatically place in user's other hand _hands.TryPickupAnyHand(user, seed); @@ -167,8 +168,9 @@ public sealed partial class BotanySystem : EntitySystem if (proto.Mysterious) { var metaData = MetaData(entity); - metaData.EntityName += "?"; - metaData.EntityDescription += " " + Loc.GetString("botany-mysterious-description-addon"); + _metaData.SetEntityName(entity, metaData.EntityName + "?", metaData); + _metaData.SetEntityDescription(entity, + metaData.EntityDescription + " " + Loc.GetString("botany-mysterious-description-addon"), metaData); } if (proto.Bioluminescent) diff --git a/Content.Server/Cluwne/CluwneSystem.cs b/Content.Server/Cluwne/CluwneSystem.cs index aca90c3461..9ce50137bf 100644 --- a/Content.Server/Cluwne/CluwneSystem.cs +++ b/Content.Server/Cluwne/CluwneSystem.cs @@ -27,6 +27,7 @@ public sealed class CluwneSystem : EntitySystem [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly ChatSystem _chat = default!; [Dependency] private readonly AutoEmoteSystem _autoEmote = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public override void Initialize() { @@ -74,7 +75,7 @@ public sealed class CluwneSystem : EntitySystem _popupSystem.PopupEntity(Loc.GetString("cluwne-transform", ("target", uid)), uid, PopupType.LargeCaution); _audio.PlayPvs(component.SpawnSound, uid); - meta.EntityName = Loc.GetString("cluwne-name-prefix", ("target", name)); + _metaData.SetEntityName(uid, Loc.GetString("cluwne-name-prefix", ("target", name)), meta); SetOutfitCommand.SetOutfit(uid, "CluwneGear", EntityManager); } diff --git a/Content.Server/Electrocution/ElectrocutionSystem.cs b/Content.Server/Electrocution/ElectrocutionSystem.cs index e013cfbe7f..a703086ed2 100644 --- a/Content.Server/Electrocution/ElectrocutionSystem.cs +++ b/Content.Server/Electrocution/ElectrocutionSystem.cs @@ -51,6 +51,7 @@ public sealed class ElectrocutionSystem : SharedElectrocutionSystem [Dependency] private readonly SharedStunSystem _stun = default!; [Dependency] private readonly SharedStutteringSystem _stuttering = default!; [Dependency] private readonly TagSystem _tag = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; [ValidatePrototypeId] private const string StatusEffectKey = "Electrocution"; @@ -358,7 +359,7 @@ public sealed class ElectrocutionSystem : SharedElectrocutionSystem // This shows up in the power monitor. // Yes. Yes exactly. - MetaData(electrocutionEntity).EntityName = MetaData(uid).EntityName; + _metaData.SetEntityName(electrocutionEntity, MetaData(uid).EntityName); electrocutionNode.CableEntity = sourceUid; electrocutionNode.NodeName = node.Name; diff --git a/Content.Server/Fax/FaxSystem.cs b/Content.Server/Fax/FaxSystem.cs index bb86338d10..ec95d71dcf 100644 --- a/Content.Server/Fax/FaxSystem.cs +++ b/Content.Server/Fax/FaxSystem.cs @@ -38,6 +38,7 @@ public sealed class FaxSystem : EntitySystem [Dependency] private readonly QuickDialogSystem _quickDialog = default!; [Dependency] private readonly UserInterfaceSystem _userInterface = default!; [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; private const string PaperSlotId = "Paper"; @@ -469,9 +470,7 @@ public sealed class FaxSystem : EntitySystem } } - if (TryComp(printed, out var metadata)) - metadata.EntityName = printout.Name; - + _metaData.SetEntityName(printed, printout.Name); _adminLogger.Add(LogType.Action, LogImpact.Low, $"\"{component.FaxName}\" {ToPrettyString(uid)} printed {ToPrettyString(printed)}: {printout.Content}"); } diff --git a/Content.Server/Forensics/Systems/ForensicPadSystem.cs b/Content.Server/Forensics/Systems/ForensicPadSystem.cs index f7a79ef974..b82d5903e7 100644 --- a/Content.Server/Forensics/Systems/ForensicPadSystem.cs +++ b/Content.Server/Forensics/Systems/ForensicPadSystem.cs @@ -16,6 +16,7 @@ namespace Content.Server.Forensics [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; [Dependency] private readonly InventorySystem _inventory = default!; [Dependency] private readonly PopupSystem _popupSystem = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public override void Initialize() { @@ -99,10 +100,10 @@ namespace Content.Server.Forensics if (args.Args.Target != null) { - if (HasComp(args.Args.Target)) - MetaData(uid).EntityName = Loc.GetString("forensic-pad-fingerprint-name", ("entity", args.Args.Target)); - else - MetaData(uid).EntityName = Loc.GetString("forensic-pad-gloves-name", ("entity", args.Args.Target)); + var name = HasComp(args.Args.Target) + ? "forensic-pad-fingerprint-name" + : "forensic-pad-gloves-name"; + _metaData.SetEntityName(uid, Loc.GetString(name, ("entity", args.Args.Target))); } padComponent.Sample = args.Sample; diff --git a/Content.Server/Forensics/Systems/ForensicScannerSystem.cs b/Content.Server/Forensics/Systems/ForensicScannerSystem.cs index 27b5901468..247236217d 100644 --- a/Content.Server/Forensics/Systems/ForensicScannerSystem.cs +++ b/Content.Server/Forensics/Systems/ForensicScannerSystem.cs @@ -23,6 +23,7 @@ namespace Content.Server.Forensics [Dependency] private readonly PaperSystem _paperSystem = default!; [Dependency] private readonly SharedHandsSystem _handsSystem = default!; [Dependency] private readonly SharedAudioSystem _audioSystem = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; private ISawmill _sawmill = default!; @@ -197,7 +198,7 @@ namespace Content.Server.Forensics return; } - MetaData(printed).EntityName = Loc.GetString("forensic-scanner-report-title", ("entity", component.LastScannedName)); + _metaData.SetEntityName(printed, Loc.GetString("forensic-scanner-report-title", ("entity", component.LastScannedName))); var text = new StringBuilder(); diff --git a/Content.Server/GameTicking/GameTicker.GamePreset.cs b/Content.Server/GameTicking/GameTicker.GamePreset.cs index a34fbaeae7..a74903a235 100644 --- a/Content.Server/GameTicking/GameTicker.GamePreset.cs +++ b/Content.Server/GameTicking/GameTicker.GamePreset.cs @@ -263,11 +263,10 @@ namespace Content.Server.GameTicking // Try setting the ghost entity name to either the character name or the player name. // If all else fails, it'll default to the default entity prototype name, "observer". // However, that should rarely happen. - var meta = MetaData(ghost); - if(!string.IsNullOrWhiteSpace(mind.CharacterName)) - meta.EntityName = mind.CharacterName; + if (!string.IsNullOrWhiteSpace(mind.CharacterName)) + _metaData.SetEntityName(ghost, mind.CharacterName); else if (!string.IsNullOrWhiteSpace(mind.Session?.Name)) - meta.EntityName = mind.Session.Name; + _metaData.SetEntityName(ghost, mind.Session.Name); var ghostComponent = Comp(ghost); diff --git a/Content.Server/GameTicking/GameTicker.Spawning.cs b/Content.Server/GameTicking/GameTicker.Spawning.cs index 8adbcfdffa..bde73605b3 100644 --- a/Content.Server/GameTicking/GameTicker.Spawning.cs +++ b/Content.Server/GameTicking/GameTicker.Spawning.cs @@ -311,7 +311,7 @@ namespace Content.Server.GameTicking var name = GetPlayerProfile(player).Name; var ghost = SpawnObserverMob(); - MetaData(ghost).EntityName = name; + _metaData.SetEntityName(ghost, name); _ghost.SetCanReturnToBody(ghost, false); _mind.TransferTo(mind, ghost); } diff --git a/Content.Server/GameTicking/GameTicker.cs b/Content.Server/GameTicking/GameTicker.cs index 2441075dea..bd80ef0bb3 100644 --- a/Content.Server/GameTicking/GameTicker.cs +++ b/Content.Server/GameTicking/GameTicker.cs @@ -66,6 +66,7 @@ namespace Content.Server.GameTicking [Dependency] private readonly StationSpawningSystem _stationSpawning = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly UserDbDataManager _userDb = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; [ViewVariables] private bool _initialized; [ViewVariables] private bool _postInitialized; diff --git a/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs b/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs index 46409ffba6..7295bae805 100644 --- a/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs @@ -58,6 +58,7 @@ public sealed class NukeopsRuleSystem : GameRuleSystem [Dependency] private readonly MapLoaderSystem _map = default!; [Dependency] private readonly ShuttleSystem _shuttle = default!; [Dependency] private readonly MindSystem _mindSystem = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public override void Initialize() { @@ -717,7 +718,7 @@ public sealed class NukeopsRuleSystem : GameRuleSystem /// private void SetupOperativeEntity(EntityUid mob, string name, string gear, HumanoidCharacterProfile? profile, NukeopsRuleComponent component) { - MetaData(mob).EntityName = name; + _metaData.SetEntityName(mob, name); EnsureComp(mob); if (profile != null) diff --git a/Content.Server/GameTicking/Rules/PiratesRuleSystem.cs b/Content.Server/GameTicking/Rules/PiratesRuleSystem.cs index f98adb93e4..ddaf387995 100644 --- a/Content.Server/GameTicking/Rules/PiratesRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/PiratesRuleSystem.cs @@ -44,6 +44,7 @@ public sealed class PiratesRuleSystem : GameRuleSystem [Dependency] private readonly NamingSystem _namingSystem = default!; [Dependency] private readonly MindSystem _mindSystem = default!; [Dependency] private readonly SharedAudioSystem _audioSystem = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; /// public override void Initialize() @@ -215,7 +216,7 @@ public sealed class PiratesRuleSystem : GameRuleSystem _mindSystem.SetUserId(newMind, session.UserId); var mob = Spawn("MobHuman", _random.Pick(spawns)); - MetaData(mob).EntityName = name; + _metaData.SetEntityName(mob, name); _mindSystem.TransferTo(newMind, mob); var profile = _prefs.GetPreferences(session.UserId).SelectedCharacter as HumanoidCharacterProfile; diff --git a/Content.Server/Humanoid/Systems/RandomHumanoidAppearanceSystem.cs b/Content.Server/Humanoid/Systems/RandomHumanoidAppearanceSystem.cs index 0775f315c9..9185fedc38 100644 --- a/Content.Server/Humanoid/Systems/RandomHumanoidAppearanceSystem.cs +++ b/Content.Server/Humanoid/Systems/RandomHumanoidAppearanceSystem.cs @@ -7,6 +7,7 @@ namespace Content.Server.Humanoid.Systems; public sealed class RandomHumanoidAppearanceSystem : EntitySystem { [Dependency] private readonly HumanoidAppearanceSystem _humanoid = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public override void Initialize() { @@ -28,9 +29,6 @@ public sealed class RandomHumanoidAppearanceSystem : EntitySystem _humanoid.LoadProfile(uid, profile, humanoid); if (component.RandomizeName) - { - var meta = MetaData(uid); - meta.EntityName = profile.Name; - } + _metaData.SetEntityName(uid, profile.Name); } } diff --git a/Content.Server/IdentityManagement/IdentitySystem.cs b/Content.Server/IdentityManagement/IdentitySystem.cs index cf5d2e181e..72b69abc6b 100644 --- a/Content.Server/IdentityManagement/IdentitySystem.cs +++ b/Content.Server/IdentityManagement/IdentitySystem.cs @@ -19,6 +19,7 @@ public class IdentitySystem : SharedIdentitySystem { [Dependency] private readonly IdCardSystem _idCard = default!; [Dependency] private readonly IAdminLogManager _adminLog = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; private HashSet _queuedIdentityUpdates = new(); @@ -98,7 +99,7 @@ public class IdentitySystem : SharedIdentitySystem if (name == Name(ident)) return; - MetaData(ident).EntityName = name; + _metaData.SetEntityName(ident, name); _adminLog.Add(LogType.Identity, LogImpact.Medium, $"{ToPrettyString(uid)} changed identity to {name}"); RaiseLocalEvent(new IdentityChangedEvent(uid, ident)); diff --git a/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs b/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs index 1b5ca4ade8..65342ca3e1 100644 --- a/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs @@ -33,6 +33,7 @@ namespace Content.Server.Kitchen.EntitySystems [Dependency] private readonly BodySystem _bodySystem = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public override void Initialize() { @@ -170,8 +171,8 @@ namespace Content.Server.Kitchen.EntitySystems var item = _random.PickAndTake(component.PrototypesToSpawn); var ent = Spawn(item, Transform(uid).Coordinates); - MetaData(ent).EntityName = - Loc.GetString("comp-kitchen-spike-meat-name", ("name", Name(ent)), ("victim", component.Victim)); + _metaData.SetEntityName(ent, + Loc.GetString("comp-kitchen-spike-meat-name", ("name", Name(ent)), ("victim", component.Victim))); if (component.PrototypesToSpawn.Count != 0) _popupSystem.PopupEntity(component.MeatSource1p, uid, user, PopupType.MediumCaution); diff --git a/Content.Server/Labels/Label/LabelSystem.cs b/Content.Server/Labels/Label/LabelSystem.cs index cf8f362327..23f2851665 100644 --- a/Content.Server/Labels/Label/LabelSystem.cs +++ b/Content.Server/Labels/Label/LabelSystem.cs @@ -18,6 +18,7 @@ namespace Content.Server.Labels { [Dependency] private readonly ItemSlotsSystem _itemSlotsSystem = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public const string ContainerName = "paper_label"; @@ -53,7 +54,7 @@ namespace Content.Server.Labels return; // Remove label - metadata.EntityName = label.OriginalName; + _metaData.SetEntityName(uid, label.OriginalName, metadata); label.CurrentLabel = null; label.OriginalName = null; @@ -63,7 +64,7 @@ namespace Content.Server.Labels // Update label label.OriginalName ??= metadata.EntityName; label.CurrentLabel = text; - metadata.EntityName = $"{label.OriginalName} ({text})"; + _metaData.SetEntityName(uid, $"{label.OriginalName} ({text})", metadata); } private void OnComponentInit(EntityUid uid, PaperLabelComponent component, ComponentInit args) diff --git a/Content.Server/Light/EntitySystems/ExpendableLightSystem.cs b/Content.Server/Light/EntitySystems/ExpendableLightSystem.cs index 8d04e896c3..0e93827df7 100644 --- a/Content.Server/Light/EntitySystems/ExpendableLightSystem.cs +++ b/Content.Server/Light/EntitySystems/ExpendableLightSystem.cs @@ -23,6 +23,7 @@ namespace Content.Server.Light.EntitySystems [Dependency] private readonly TagSystem _tagSystem = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public override void Initialize() { @@ -63,8 +64,8 @@ namespace Content.Server.Light.EntitySystems case ExpendableLightState.Fading: component.CurrentState = ExpendableLightState.Dead; var meta = MetaData(component.Owner); - meta.EntityName = Loc.GetString(component.SpentName); - meta.EntityDescription = Loc.GetString(component.SpentDesc); + _metaData.SetEntityName(component.Owner, Loc.GetString(component.SpentName), meta); + _metaData.SetEntityDescription(component.Owner, Loc.GetString(component.SpentDesc), meta); _tagSystem.AddTag(component.Owner, "Trash"); diff --git a/Content.Server/Mind/Commands/RenameCommand.cs b/Content.Server/Mind/Commands/RenameCommand.cs index bd22dd4c7d..747d7b1125 100644 --- a/Content.Server/Mind/Commands/RenameCommand.cs +++ b/Content.Server/Mind/Commands/RenameCommand.cs @@ -44,7 +44,7 @@ public sealed class RenameCommand : IConsoleCommand // Metadata var metadata = entMan.GetComponent(entityUid); var oldName = metadata.EntityName; - metadata.EntityName = name; + entMan.System().SetEntityName(entityUid, name, metadata); var entSysMan = IoCManager.Resolve(); diff --git a/Content.Server/Mind/MindSystem.cs b/Content.Server/Mind/MindSystem.cs index 042e908313..b84713c15c 100644 --- a/Content.Server/Mind/MindSystem.cs +++ b/Content.Server/Mind/MindSystem.cs @@ -33,6 +33,7 @@ public sealed class MindSystem : EntitySystem [Dependency] private readonly TransformSystem _transform = default!; [Dependency] private readonly IAdminLogManager _adminLogger = default!; [Dependency] private readonly IPlayerManager _playerManager = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; // This is dictionary is required to track the minds of disconnected players that may have had their entity deleted. private readonly Dictionary _userMinds = new(); @@ -198,7 +199,7 @@ public sealed class MindSystem : EntitySystem Log.Debug($"Entity \"{ToPrettyString(uid)}\" for {mind.CharacterName} was deleted, spawned \"{ToPrettyString(ghost)}\"."); var val = mind.CharacterName ?? string.Empty; - MetaData(ghost).EntityName = val; + _metaData.SetEntityName(ghost, val); TransferTo(mind, ghost); }); } diff --git a/Content.Server/Nuke/NukeLabelSystem.cs b/Content.Server/Nuke/NukeLabelSystem.cs index e47d16e077..b9416ee279 100644 --- a/Content.Server/Nuke/NukeLabelSystem.cs +++ b/Content.Server/Nuke/NukeLabelSystem.cs @@ -6,6 +6,8 @@ namespace Content.Server.Nuke; public sealed class NukeLabelSystem : EntitySystem { [Dependency] private readonly NukeSystem _nuke = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; + /// public override void Initialize() { @@ -16,6 +18,6 @@ public sealed class NukeLabelSystem : EntitySystem { var label = Loc.GetString(nuke.NukeLabel, ("serial", _nuke.GenerateRandomNumberString(nuke.SerialLength))); var meta = MetaData(uid); - meta.EntityName = $"{meta.EntityName} ({label})"; + _metaData.SetEntityName(uid, $"{meta.EntityName} ({label})", meta); } } diff --git a/Content.Server/Polymorph/Systems/PolymorphSystem.cs b/Content.Server/Polymorph/Systems/PolymorphSystem.cs index c6b44cac3d..43531d9cbb 100644 --- a/Content.Server/Polymorph/Systems/PolymorphSystem.cs +++ b/Content.Server/Polymorph/Systems/PolymorphSystem.cs @@ -43,6 +43,7 @@ namespace Content.Server.Polymorph.Systems [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly TransformSystem _transform = default!; [Dependency] private readonly MindSystem _mindSystem = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; private ISawmill _sawmill = default!; @@ -220,12 +221,8 @@ namespace Content.Server.Polymorph.Systems } } - if (proto.TransferName && - TryComp(uid, out var targetMeta) && - TryComp(child, out var childMeta)) - { - childMeta.EntityName = targetMeta.EntityName; - } + if (proto.TransferName && TryComp(uid, out var targetMeta)) + _metaData.SetEntityName(child, targetMeta.EntityName); if (proto.TransferHumanoidAppearance) { diff --git a/Content.Server/RandomMetadata/RandomMetadataSystem.cs b/Content.Server/RandomMetadata/RandomMetadataSystem.cs index e9136f82eb..ebec4d5249 100644 --- a/Content.Server/RandomMetadata/RandomMetadataSystem.cs +++ b/Content.Server/RandomMetadata/RandomMetadataSystem.cs @@ -9,6 +9,7 @@ public sealed class RandomMetadataSystem : EntitySystem { [Dependency] private readonly IPrototypeManager _prototype = default!; [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public override void Initialize() { @@ -24,12 +25,13 @@ public sealed class RandomMetadataSystem : EntitySystem if (component.NameSegments != null) { - meta.EntityName = GetRandomFromSegments(component.NameSegments, component.NameSeparator); + _metaData.SetEntityName(uid, GetRandomFromSegments(component.NameSegments, component.NameSeparator), meta); } if (component.DescriptionSegments != null) { - meta.EntityDescription = GetRandomFromSegments(component.DescriptionSegments, component.DescriptionSeparator); + _metaData.SetEntityDescription(uid, + GetRandomFromSegments(component.DescriptionSegments, component.DescriptionSeparator), meta); } } diff --git a/Content.Server/Salvage/SalvageSystem.Expeditions.cs b/Content.Server/Salvage/SalvageSystem.Expeditions.cs index fb49773cad..a1ac37062b 100644 --- a/Content.Server/Salvage/SalvageSystem.Expeditions.cs +++ b/Content.Server/Salvage/SalvageSystem.Expeditions.cs @@ -276,6 +276,7 @@ public sealed partial class SalvageSystem _anchorable, _biome, _dungeon, + _metaData, this, station, missionParams, diff --git a/Content.Server/Salvage/SalvageSystem.cs b/Content.Server/Salvage/SalvageSystem.cs index ece652ad07..4acf663358 100644 --- a/Content.Server/Salvage/SalvageSystem.cs +++ b/Content.Server/Salvage/SalvageSystem.cs @@ -53,6 +53,7 @@ namespace Content.Server.Salvage [Dependency] private readonly ShuttleConsoleSystem _shuttleConsoles = default!; [Dependency] private readonly StationSystem _station = default!; [Dependency] private readonly UserInterfaceSystem _ui = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; private const int SalvageLocationPlaceAttempts = 25; diff --git a/Content.Server/Salvage/SpawnSalvageMissionJob.cs b/Content.Server/Salvage/SpawnSalvageMissionJob.cs index db7bf9be2e..c6b71b4095 100644 --- a/Content.Server/Salvage/SpawnSalvageMissionJob.cs +++ b/Content.Server/Salvage/SpawnSalvageMissionJob.cs @@ -41,6 +41,7 @@ public sealed class SpawnSalvageMissionJob : Job private readonly AnchorableSystem _anchorable; private readonly BiomeSystem _biome; private readonly DungeonSystem _dungeon; + private readonly MetaDataSystem _metaData; private readonly SalvageSystem _salvage; public readonly EntityUid Station; @@ -55,6 +56,7 @@ public sealed class SpawnSalvageMissionJob : Job AnchorableSystem anchorable, BiomeSystem biome, DungeonSystem dungeon, + MetaDataSystem metaData, SalvageSystem salvage, EntityUid station, SalvageMissionParams missionParams, @@ -67,6 +69,7 @@ public sealed class SpawnSalvageMissionJob : Job _anchorable = anchorable; _biome = biome; _dungeon = dungeon; + _metaData = metaData; _salvage = salvage; Station = station; _missionParams = missionParams; @@ -139,7 +142,7 @@ public sealed class SpawnSalvageMissionJob : Job // Don't want consoles to have the incorrect name until refreshed. var ftlUid = _entManager.CreateEntityUninitialized("FTLPoint", new EntityCoordinates(mapUid, grid.TileSizeHalfVector)); - _entManager.GetComponent(ftlUid).EntityName = SharedSalvageSystem.GetFTLName(_prototypeManager.Index("names_borer"), _missionParams.Seed); + _metaData.SetEntityName(ftlUid, SharedSalvageSystem.GetFTLName(_prototypeManager.Index("names_borer"), _missionParams.Seed)); _entManager.InitializeAndStartEntity(ftlUid); var landingPadRadius = 24; diff --git a/Content.Server/Station/Systems/StationSystem.cs b/Content.Server/Station/Systems/StationSystem.cs index 9f154c1b72..182cbb5a48 100644 --- a/Content.Server/Station/Systems/StationSystem.cs +++ b/Content.Server/Station/Systems/StationSystem.cs @@ -34,6 +34,7 @@ public sealed class StationSystem : EntitySystem [Dependency] private readonly ChatSystem _chatSystem = default!; [Dependency] private readonly GameTicker _gameTicker = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; private ISawmill _sawmill = default!; @@ -328,7 +329,7 @@ public sealed class StationSystem : EntitySystem throw new ArgumentException("Tried to use a non-station entity as a station!", nameof(station)); if (!string.IsNullOrEmpty(name)) - MetaData(mapGrid).EntityName = name; + _metaData.SetEntityName(mapGrid, name); var stationMember = AddComp(mapGrid); stationMember.Station = station; @@ -376,7 +377,7 @@ public sealed class StationSystem : EntitySystem throw new ArgumentException("Tried to use a non-station entity as a station!", nameof(station)); var oldName = metaData.EntityName; - metaData.EntityName = name; + _metaData.SetEntityName(station, name, metaData); if (loud) { diff --git a/Content.Server/Worldgen/Systems/WorldControllerSystem.cs b/Content.Server/Worldgen/Systems/WorldControllerSystem.cs index 0eae3a274d..b048ee8c80 100644 --- a/Content.Server/Worldgen/Systems/WorldControllerSystem.cs +++ b/Content.Server/Worldgen/Systems/WorldControllerSystem.cs @@ -17,6 +17,7 @@ public sealed class WorldControllerSystem : EntitySystem [Dependency] private readonly TransformSystem _xformSys = default!; [Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly ILogManager _logManager = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; private const int PlayerLoadRadius = 2; @@ -231,8 +232,7 @@ public sealed class WorldControllerSystem : EntitySystem { var chunk = Spawn(controller.ChunkProto, MapCoordinates.Nullspace); StartupChunkEntity(chunk, chunkCoords, map, controller); - var md = MetaData(chunk); - md.EntityName = $"Chunk {chunkCoords.X}/{chunkCoords.Y}"; + _metaData.SetEntityName(chunk, $"Chunk {chunkCoords.X}/{chunkCoords.Y}"); return chunk; } diff --git a/Content.Shared/Clothing/EntitySystems/SharedChameleonClothingSystem.cs b/Content.Shared/Clothing/EntitySystems/SharedChameleonClothingSystem.cs index 1484d74963..34b48bc292 100644 --- a/Content.Shared/Clothing/EntitySystems/SharedChameleonClothingSystem.cs +++ b/Content.Shared/Clothing/EntitySystems/SharedChameleonClothingSystem.cs @@ -13,6 +13,7 @@ public abstract class SharedChameleonClothingSystem : EntitySystem [Dependency] private readonly IPrototypeManager _proto = default!; [Dependency] private readonly SharedItemSystem _itemSystem = default!; [Dependency] private readonly ClothingSystem _clothingSystem = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; public override void Initialize() { @@ -46,8 +47,8 @@ public abstract class SharedChameleonClothingSystem : EntitySystem // copy name and description var meta = MetaData(uid); - meta.EntityName = proto.Name; - meta.EntityDescription = proto.Description; + _metaData.SetEntityName(uid, proto.Name, meta); + _metaData.SetEntityDescription(uid, proto.Description, meta); // item sprite logic if (TryComp(uid, out ItemComponent? item) &&