1
0

PaperVisualizerSystem.cs 965 B

1234567891011121314151617181920212223242526272829
  1. using Robust.Client.GameObjects;
  2. using static Content.Shared.Paper.PaperComponent;
  3. namespace Content.Client.Paper.UI;
  4. public sealed class PaperVisualizerSystem : VisualizerSystem<PaperVisualsComponent>
  5. {
  6. protected override void OnAppearanceChange(EntityUid uid, PaperVisualsComponent component, ref AppearanceChangeEvent args)
  7. {
  8. if (args.Sprite == null)
  9. return;
  10. if (AppearanceSystem.TryGetData<PaperStatus>(uid, PaperVisuals.Status , out var writingStatus, args.Component))
  11. args.Sprite.LayerSetVisible(PaperVisualLayers.Writing, writingStatus == PaperStatus.Written);
  12. if (AppearanceSystem.TryGetData<string>(uid, PaperVisuals.Stamp, out var stampState, args.Component))
  13. {
  14. args.Sprite.LayerSetState(PaperVisualLayers.Stamp, stampState);
  15. args.Sprite.LayerSetVisible(PaperVisualLayers.Stamp, true);
  16. }
  17. }
  18. }
  19. public enum PaperVisualLayers
  20. {
  21. Stamp,
  22. Writing
  23. }