Namespace Serenity.GameWeapon.Domain.Entities
Classes
AmmoReserveState
Mutable state tracking a weapon's spare ammo reserve, separate from the loaded magazine.
FireCadence
Mutable state tracking a weapon's minimum time between shots, in explicit caller-supplied time. Owned by the WeaponState aggregate; has no dependency on any engine clock.
MagazineState
Mutable state tracking the current ammo in a weapon's magazine.
WeaponArsenal
Mutable ordered collection of acquired weapon identities, tracking which one is currently active.
WeaponState
Mutable state of a weapon instance, tracking magazine, fire mode, and trigger state. Enforces basic weapon invariants (e.g. no firing with empty magazine).