Top > C88-メニュー周り
#contents * 入力 [#v1faa56c] - メニュー用のPlayerController &ref(c88-menu_input_01.png); -- 入力イベントはEventDispatcherで投げる。 - メニューのUMG親クラスで、bindingする。 &ref(c88-menu_input_02.png,,70%); -- これで各メニューは入力イベントを取得できる * 処理 [#ufa78766] ** メニューでパーツが変更された時等の処理。 [#t11d1bbd] UMG内では色々取り回しが悪いのでGameModeで処理を行った。 - メニュー側で変更イベントが発生した場合はUMGからEventDispatcherで投げる &ref(c88-menu_flow_01.png,,70%); - GameModeでUMGのパーツ変更EventDispatcherのイベントを受け取って処理する &ref(c88-menu_flow_02.png,,70%); ** 各メニューの遷移 [#g51aaf3c] - ミッション、装備などメニュー毎にUMGを用意している &ref(c88-menu_flow_03.png); -- メニューは全部親クラスMenuBaseを継承して共通化 - シーンの遷移は遷移用のEventDispatcherが飛んでくるのでGameModeでUMG切り替え &ref(c88-menu_flow_04.png,,70%); -- UMGの管理イメージとしては、GameModeに全メニューのUMGがぶら下がってる感じ。 MenuGameMode |- ルート |- ミッション選択 |- 装備選択 |- アーマー部位選択 |- アーマーパーツ選択 |- スタイル選択 |- オプション選択 ** 感想 [#y1cebc40] - 突貫で構築したとは言え、GameModeのイベントグラフがヤバい &ref(c88-menu_01.png,,70%); -- 1から構築していく分には問題ないけど、後から見たり引き継いだりする時辛い -- 普通にUMGを親子階層にして管理した方が良かった気がする -- 初期化... &ref(c88-menu_02.png,,70%); -- GameModeの初期化... &ref(c88-menu_02.png,,30%); |