using System; using Robust.Shared.GameObjects; using Robust.Shared.Serialization; namespace Content.Shared.GameObjects.Components.Weapons.Ranged { [Serializable, NetSerializable] public class BallisticMagazineWeaponComponentState : ComponentState { /// /// True if a bullet is chambered. /// public bool Chambered { get; } /// /// Count of bullets in the magazine. /// /// /// Null if no magazine is inserted. /// public (int count, int max)? MagazineCount { get; } public BallisticMagazineWeaponComponentState(bool chambered, (int count, int max)? magazineCount) : base(ContentNetIDs.BALLISTIC_MAGAZINE_WEAPON) { Chambered = chambered; MagazineCount = magazineCount; } } // BMW is "Ballistic Magazine Weapon" here. /// /// Fired server -> client when the magazine in a Ballistic Magazine Weapon got auto-ejected. /// [Serializable, NetSerializable] public sealed class BmwComponentAutoEjectedMessage : ComponentMessage { } }