入力

  • メニュー用のPlayerController
    c88-menu_input_01.png
    • 入力イベントはEventDispatcherで投げる。
  • メニューのUMG親クラスで、bindingする。
    c88-menu_input_02.png
    • これで各メニューは入力イベントを取得できる

処理

メニューでパーツが変更された時等の処理。


UMG内では色々取り回しが悪いのでGameModeで処理を行った。
  • メニュー側で変更イベントが発生した場合はUMGからEventDispatcherで投げる
    c88-menu_flow_01.png
  • GameModeでUMGのパーツ変更EventDispatcherのイベントを受け取って処理する
    c88-menu_flow_02.png

各メニューの遷移

  • ミッション、装備などメニュー毎にUMGを用意している
    c88-menu_flow_03.png
    • メニューは全部親クラスMenuBaseを継承して共通化
  • シーンの遷移は遷移用のEventDispatcherが飛んでくるのでGameModeでUMG切り替え
    c88-menu_flow_04.png
    • UMGの管理イメージとしては、GameModeに全メニューのUMGがぶら下がってる感じ。
      MenuGameMode
       |- ルート
       |- ミッション選択
       |- 装備選択
       |- アーマー部位選択
       |- アーマーパーツ選択
       |- スタイル選択
       |- オプション選択

感想

  • 突貫で構築したとは言え、GameModeのイベントグラフがヤバい
    c88-menu_01.png
    • 1から構築していく分には問題ないけど、後から見たり引き継いだりする時辛い
    • 普通にUMGを親子階層にして管理した方が良かった気がする
    • GameModeの初期化...
      c88-menu_02.png

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS