MagazineAmmoProviderComponent.cs 815 B

12345678910111213141516171819202122
  1. using Content.Shared.Weapons.Ranged.Components;
  2. using Content.Shared.Weapons.Ranged.Systems;
  3. using Robust.Shared.Audio;
  4. namespace Content.Shared.Weapons.Ranged;
  5. /// <summary>
  6. /// Wrapper around a magazine (handled via ItemSlot). Passes all AmmoProvider logic onto it.
  7. /// </summary>
  8. [RegisterComponent, Virtual]
  9. [Access(typeof(SharedGunSystem))]
  10. public partial class MagazineAmmoProviderComponent : AmmoProviderComponent
  11. {
  12. [ViewVariables(VVAccess.ReadWrite), DataField("soundAutoEject")]
  13. public SoundSpecifier? SoundAutoEject = new SoundPathSpecifier("/Audio/Weapons/Guns/EmptyAlarm/smg_empty_alarm.ogg");
  14. /// <summary>
  15. /// Should the magazine automatically eject when empty.
  16. /// </summary>
  17. [ViewVariables(VVAccess.ReadWrite), DataField("autoEject")]
  18. public bool AutoEject = false;
  19. }