それもう、「どう書けばいいの?」 と言うより、
普通に 「どうしたいの?」 って言うプログラミングの話だと思う

例えば 「選択された武器が有効な時」 って、その武器がゲーム進行上 「"有効" な場合」 を、
自分はどう保持して表現してるか、次第だからって事。
それを決めていれば、あとはそれらを参照して、切り替えたらいいんじゃないの?って話

例)
public class ItemData {
 public int weapon_code; // このコードの値が Switch に放り込まれる値
 public bool enable;    // そのアイテムは使用出来るか否か
}

private ItemData[] mydata = null;
どこぞのクラスで、 mydata = new ItemData[8]; とかして持っておいて、
なんらかの理由で、どれかを enable = true; とかしておき、

切り替える際には、 foreach(ItemData d in mydata) { if(d.enable) { /* d.weapon_code をセット */ }} のように、とか。