Neat concept! How do you handle swapping the guns so they remember how much ammo they have?
i create a new weaponclass for each weapon that has the ammo data in it