WiresVisualizerSystem.cs 999 B

1234567891011121314151617181920212223242526272829303132
  1. using Content.Shared.Wires;
  2. using Robust.Client.GameObjects;
  3. namespace Content.Client.Wires.Visualizers
  4. {
  5. public sealed class WiresVisualizerSystem : VisualizerSystem<WiresVisualsComponent>
  6. {
  7. protected override void OnAppearanceChange(EntityUid uid, WiresVisualsComponent component, ref AppearanceChangeEvent args)
  8. {
  9. if (args.Sprite == null)
  10. return;
  11. var layer = args.Sprite.LayerMapReserveBlank(WiresVisualLayers.MaintenancePanel);
  12. if(args.AppearanceData.TryGetValue(WiresVisuals.MaintenancePanelState, out var panelStateObject) &&
  13. panelStateObject is bool panelState)
  14. {
  15. args.Sprite.LayerSetVisible(layer, panelState);
  16. }
  17. else
  18. {
  19. //Mainly for spawn window
  20. args.Sprite.LayerSetVisible(layer, false);
  21. }
  22. }
  23. }
  24. public enum WiresVisualLayers : byte
  25. {
  26. MaintenancePanel
  27. }
  28. }