class AAmmo
{
EAmmo Ammo;
int32 Count;
};
class AWeapon
{
EAmmo AmmoPrimary;
int32 CountPrimary;
EAmmo AmmoSecondary;
int32 CountSecondary;
};
Perhaps the rational use of StaticClass or DynamicClass (new feature) in this case as alternative to enumeraion of the ammo types.
class AWeapon
{
TSubClassOf<AAmmo> AmmoPrimary;
int32 CountPrimary;
TSubClassOf<AAmmo> AmmoSecondary;
int32 CountSecondary;
};