using Content.Shared.Xenoarchaeology.XenoArtifacts; using Robust.Client.GameObjects; using Robust.Shared.GameObjects; using Robust.Shared.IoC; namespace Content.Client.Xenoarchaeology.XenoArtifacts; public sealed class RandomArtifactVisualizer : AppearanceVisualizer { [Obsolete("Subscribe to AppearanceChangeEvent instead.")] public override void OnChangeData(AppearanceComponent component) { base.OnChangeData(component); var entities = IoCManager.Resolve(); if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite)) return; if (!component.TryGetData(SharedArtifactsVisuals.SpriteIndex, out int spriteIndex)) return; if (!component.TryGetData(SharedArtifactsVisuals.IsActivated, out bool isActivated)) isActivated = false; var spriteIndexStr = spriteIndex.ToString("D2"); var spritePrefix = isActivated ? "_on" : ""; var spriteState = "ano" + spriteIndexStr + spritePrefix; sprite.LayerSetState(0, spriteState); } }