UseDelayOnShootSystem.cs 641 B

123456789101112131415161718192021
  1. using Content.Shared.Timing;
  2. using Content.Shared.Weapons.Ranged.Components;
  3. namespace Content.Shared.Weapons.Ranged.Systems;
  4. public sealed class UseDelayOnShootSystem : EntitySystem
  5. {
  6. [Dependency] private readonly UseDelaySystem _delay = default!;
  7. public override void Initialize()
  8. {
  9. base.Initialize();
  10. SubscribeLocalEvent<UseDelayOnShootComponent, GunShotEvent>(OnUseShoot);
  11. }
  12. private void OnUseShoot(EntityUid uid, UseDelayOnShootComponent component, ref GunShotEvent args)
  13. {
  14. if (TryComp(uid, out UseDelayComponent? useDelay))
  15. _delay.TryResetDelay((uid, useDelay));
  16. }
  17. }