StorageFillVisualizerSystem.cs 791 B

1234567891011121314151617181920212223
  1. using Content.Shared.Storage;
  2. using Content.Shared.Storage.Components;
  3. using Robust.Client.GameObjects;
  4. namespace Content.Client.Storage.Visualizers;
  5. public sealed class StorageFillVisualizerSystem : VisualizerSystem<StorageFillVisualizerComponent>
  6. {
  7. protected override void OnAppearanceChange(EntityUid uid, StorageFillVisualizerComponent component, ref AppearanceChangeEvent args)
  8. {
  9. if (args.Sprite == null)
  10. return;
  11. if (!TryComp(uid, out SpriteComponent? sprite))
  12. return;
  13. if (!AppearanceSystem.TryGetData<int>(uid, StorageFillVisuals.FillLevel, out var level, args.Component))
  14. return;
  15. var state = $"{component.FillBaseName}-{level}";
  16. args.Sprite.LayerSetState(StorageFillLayers.Fill, state);
  17. }
  18. }