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