Help with weapon changing problems...

I have an empty game object called: Weapons which contains my Rocket Launcher and Bazooka where I shoot from.

I have attached a shooting script with buttons so that on click they shoot. I also have a input key down change weapons.

Because I put my shooting script on the weapon game object the projectiles come out the same place.

I want to have the buttons shoot differently from the root. The problem is that if I have seperate scripts on seperate weapons I would need seperate buttons.

How would I use same (shooting) buttons to shoot from varying places on different weapons and with different projectiles?

Create public members in the weapon script class:

Vector3 projectileSpawnOffset;
GameObject projectilePrefab;

Then use those variables when instantiating the projectile in the common shoot code.