>>112
考えて作っているのならそれでいい。

こちらも仕様を見ないと正確には最適な構造かどうかは判断できないし、それは他の人もそうだ。
今後とも俺含めて外野がごちゃごちゃ言うだろうが、結局のところ責任者は君なのだから、
良いアイデアはもらって、どうでも良い意見は無視すればいい。(これは今の君は出来ている)

それは持ち物の全てを常に自由に使えるというタイプではなくて、
あるアイテムはあるシチュエーションでしか使えないというタイプか?
(アイテムが有効な時にだけ選択肢の中に「使う」が出てくる)
その場合はその構造の方がいいのかもしれない。(全てがシナリオに紐付けされるから)

シナリオ部分だけ分離して作るのは良い戦略だ。
ただそれはハードコードではなく、前言われたように連想配列を使った方がいい。
あと、配列に入れること(オンメモリ)にこだわっているようだが、
その都度ファイルをスキャンしてもPCなら全く問題ないはずだ。
またこれも既に言われていたが、吉里吉里とか使った方が楽だと思うが、
それでも作りたければ作ればいいと思う。少なくともやらない奴よりは100倍マシだ。

ただなあ、君は多分戦えるつもりなのだろうが、今君が持っている武器はナイフでしかない。
C#には電動ノコギリなりチェーンソーなりあるんだから、色々もっと楽に出来る。
だからもうちょっと.NETのライブラリを確認した方がいい。
(多すぎて実体が見えてこないというのはその通りだが)