HeadstandSystem.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using Content.Client.Administration.Components;
  2. using Robust.Client.GameObjects;
  3. namespace Content.Client.Administration.Systems;
  4. public sealed class HeadstandSystem : EntitySystem
  5. {
  6. public override void Initialize()
  7. {
  8. SubscribeLocalEvent<HeadstandComponent, ComponentStartup>(OnHeadstandAdded);
  9. SubscribeLocalEvent<HeadstandComponent, ComponentShutdown>(OnHeadstandRemoved);
  10. }
  11. private void OnHeadstandAdded(EntityUid uid, HeadstandComponent component, ComponentStartup args)
  12. {
  13. if (!TryComp<SpriteComponent>(uid, out var sprite))
  14. return;
  15. foreach (var layer in sprite.AllLayers)
  16. {
  17. layer.Rotation += Angle.FromDegrees(180.0f);
  18. }
  19. }
  20. private void OnHeadstandRemoved(EntityUid uid, HeadstandComponent component, ComponentShutdown args)
  21. {
  22. if (!TryComp<SpriteComponent>(uid, out var sprite))
  23. return;
  24. foreach (var layer in sprite.AllLayers)
  25. {
  26. layer.Rotation -= Angle.FromDegrees(180.0f);
  27. }
  28. }
  29. }