RandomIconSmoothSystem.cs 797 B

1234567891011121314151617181920212223242526
  1. using Content.Shared.IconSmoothing;
  2. using Robust.Shared.Random;
  3. namespace Content.Server.IconSmoothing;
  4. public sealed partial class RandomIconSmoothSystem : SharedRandomIconSmoothSystem
  5. {
  6. [Dependency] private readonly IRobustRandom _random = default!;
  7. [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
  8. public override void Initialize()
  9. {
  10. base.Initialize();
  11. SubscribeLocalEvent<RandomIconSmoothComponent, MapInitEvent>(OnMapInit);
  12. }
  13. private void OnMapInit(Entity<RandomIconSmoothComponent> ent, ref MapInitEvent args)
  14. {
  15. if (ent.Comp.RandomStates.Count == 0)
  16. return;
  17. var state = _random.Pick(ent.Comp.RandomStates);
  18. _appearance.SetData(ent, RandomIconSmoothState.State, state);
  19. }
  20. }