1
0

SurveillanceCameraVisualsSystem.cs 970 B

1234567891011121314151617181920212223242526272829
  1. using Content.Shared.SurveillanceCamera;
  2. using Robust.Client.GameObjects;
  3. namespace Content.Client.SurveillanceCamera;
  4. public sealed class SurveillanceCameraVisualsSystem : EntitySystem
  5. {
  6. public override void Initialize()
  7. {
  8. base.Initialize();
  9. SubscribeLocalEvent<SurveillanceCameraVisualsComponent, AppearanceChangeEvent>(OnAppearanceChange);
  10. }
  11. private void OnAppearanceChange(EntityUid uid, SurveillanceCameraVisualsComponent component,
  12. ref AppearanceChangeEvent args)
  13. {
  14. if (!args.AppearanceData.TryGetValue(SurveillanceCameraVisualsKey.Key, out var data)
  15. || data is not SurveillanceCameraVisuals key
  16. || args.Sprite == null
  17. || !args.Sprite.LayerMapTryGet(SurveillanceCameraVisualsKey.Layer, out int layer)
  18. || !component.CameraSprites.TryGetValue(key, out var state))
  19. {
  20. return;
  21. }
  22. args.Sprite.LayerSetState(layer, state);
  23. }
  24. }