KudzuVisualizerSystem.cs 752 B

1234567891011121314151617181920
  1. using Content.Shared.Spreader;
  2. using Robust.Client.GameObjects;
  3. namespace Content.Client.Kudzu;
  4. public sealed class KudzuVisualsSystem : VisualizerSystem<KudzuVisualsComponent>
  5. {
  6. protected override void OnAppearanceChange(EntityUid uid, KudzuVisualsComponent component, ref AppearanceChangeEvent args)
  7. {
  8. if (args.Sprite == null)
  9. return;
  10. if (AppearanceSystem.TryGetData<int>(uid, KudzuVisuals.Variant, out var var, args.Component)
  11. && AppearanceSystem.TryGetData<int>(uid, KudzuVisuals.GrowthLevel, out var level, args.Component))
  12. {
  13. var index = args.Sprite.LayerMapReserveBlank(component.Layer);
  14. args.Sprite.LayerSetState(index, $"kudzu_{level}{var}");
  15. }
  16. }
  17. }