Survival Inventory

I would have an ammo variable on you weapon, then when you reload remove the ammo from the inventory an set the weapons ammo to the amount you had in the inventory. So when your player trys to reload run an event on the player inventory component have it check if there is the ammo that the gun uses if true then set the ammo on your weapon and remove the ammo from the inventory.

If you have a weapon class just set its parent class to the holdable class and you will be able to set it in the item data table