Hi,
not really nice. I would implement a global event system that you would broadcast to all.
you would first fire a "DISABLE WEAPON", and then enable the one the user selected. that will be easier.
if you want to go crazy
actually create a global event "SELECT WEAPON", and pass the weapon reference with that event, then ALL weapons responds to it, and double check that the passed references matches or not, and they disable themselves if not matching, else it's the selected one and it can proceed and do what ever it needs to become the selected weapon.
bye,
Jean