using Content.Shared.Construction; using JetBrains.Annotations; using Robust.Server.GameObjects; using Robust.Shared.Reflection; using Robust.Shared.Serialization; namespace Content.Server.Construction.Completions { [UsedImplicitly] [DataDefinition] public sealed partial class VisualizerDataInt : IGraphAction { [DataField("key")] public string Key { get; private set; } = string.Empty; [DataField("data")] public int Data { get; private set; } = 0; public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager) { if (string.IsNullOrEmpty(Key)) return; if (entityManager.TryGetComponent(uid, out AppearanceComponent? appearance)) { if (IoCManager.Resolve().TryParseEnumReference(Key, out var @enum)) { entityManager.System().SetData(uid, @enum, Data, appearance); } } } } }