SharedHandsSystem.Relay.cs 804 B

123456789101112131415161718192021222324
  1. using Content.Shared.Camera;
  2. using Content.Shared.Hands.Components;
  3. using Content.Shared.Movement.Systems;
  4. namespace Content.Shared.Hands.EntitySystems;
  5. public abstract partial class SharedHandsSystem
  6. {
  7. private void InitializeRelay()
  8. {
  9. SubscribeLocalEvent<HandsComponent, GetEyeOffsetRelayedEvent>(RelayEvent);
  10. SubscribeLocalEvent<HandsComponent, GetEyePvsScaleRelayedEvent>(RelayEvent);
  11. SubscribeLocalEvent<HandsComponent, RefreshMovementSpeedModifiersEvent>(RelayEvent);
  12. }
  13. private void RelayEvent<T>(Entity<HandsComponent> entity, ref T args) where T : EntityEventArgs
  14. {
  15. var ev = new HeldRelayedEvent<T>(args);
  16. foreach (var held in EnumerateHeld(entity, entity.Comp))
  17. {
  18. RaiseLocalEvent(held, ref ev);
  19. }
  20. }
  21. }