Set a mode for each weapon. In case you use different Weapon script, then use the OnGUI() in each to appropriately modify the texture. I have been switching textures based on an If Condition. Eg: 1. Set booleans for mode (MissileLauncher / Rifle) 2. If (boolean) , update the Crosshair texture.
Alternatively, you can also use a Switch case if you have more than 2 weapons to deal with.