using Robust.Client.GameObjects; using static Content.Shared.Paper.PaperComponent; namespace Content.Client.Paper.UI; public sealed class PaperVisualizerSystem : VisualizerSystem { protected override void OnAppearanceChange(EntityUid uid, PaperVisualsComponent component, ref AppearanceChangeEvent args) { if (args.Sprite == null) return; if (AppearanceSystem.TryGetData(uid, PaperVisuals.Status , out var writingStatus, args.Component)) args.Sprite.LayerSetVisible(PaperVisualLayers.Writing, writingStatus == PaperStatus.Written); if (AppearanceSystem.TryGetData(uid, PaperVisuals.Stamp, out var stampState, args.Component)) { args.Sprite.LayerSetState(PaperVisualLayers.Stamp, stampState); args.Sprite.LayerSetVisible(PaperVisualLayers.Stamp, true); } } } public enum PaperVisualLayers { Stamp, Writing }