This project is about how to handle weapons. WeaponSystem gives other objects (e.g. Spaceships) the ability to carry different weapons and not just one.
A WeaponPack? is a standalone Package of Weapon objects. It can be attached to a object with a WeaponSystem. It could also be a PickupItem? or something else. It is not connected to the WeaponSystem or the Spaceship.
The base class for all weapons. Defines the general weapon properties, attaching to the spaceship …
The base class for all munitions.