DirectX9, C++でシミュレーションゲームを作っています。
そこで質問なのですがキャラクタを選択した時にでる「移動」「攻撃」などや
マップを選択した時のマップ情報など、
そういったものはどのように設計?したらよろしいのでしょうか?

たとえばキャラ選択でメニューが出た時は
今までマップ上を好きに動かせてたカーソルは動けなくする必要がありますし、
キャラ移動中は全てのボタンなどを受け付けなくしなければなりません
皆様はどのように作っているか教えていただけないでしょうか?