vorei
(vorei)
1
下記機能を持ったウィジェットを作成しようとしているのですが、下記に記載しています【詰まっていること】の部分の実装方法で難儀しております。どなたか、知恵をお借りできますと幸いです。
公式ドキュメントなども見ていますが、なかなか良いアプローチが見つからず・・
▽ウィジェット名
・親ウィジェットは【Base01】
・子ウィジェットは【Child】
▽実現したいこと
・親ウィジェットと子ウィジェットが存在している
・親ウィジェットは、複数の子ウィジェットを画面に配置する
・子ウィジェットに搭載されたボタンで、親ウィジェットの処理を呼べる
・親ウィジェットに表示された、子ウィジェットのボタンを押した際、押したボタンによって異なる表示を走らせたい
▽今できていること
・親ウィジェットに複数の子ウィジェットを表示させる
・親ウィジェットに表示された子ウィジェットに対し、ウィジェットごとに異なる画像とテキストを表示する
ゲーム画面
親ウィジェット処理
▽詰まっていること
・子→親でイベントを通知する方法が分からない
・親ウィジェットに表示された子ウィジェットのボタンに対し、各ボタンごとに異なる処理を走らせる方法が分からない
kiruru002
(kiruru002)
2
子1個につき1個の処理だと思うので、親側に子の数だけCustomEventが存在する感じですかね
子から親にイベント通知するときは、イベントディスパッチャーやBlueprintインターフェースが使えますよ
1 Like
vorei
(vorei)
3
アドバイスいただきありがとうございます・・!
調べてみたのですが、インターフェースの方が良さそうだという話を見かけたので、
インターフェースでどうにか実装できないか、試行錯誤してみますm(_ _)m
1 Like
LunaNelis
(ネリスさんMain)
4
kururuさんの発言にもありますが
個人的には子が対応した結果を「上位にある誰か」に伝える目的であればイベントディスパッチャーが適任かなと思います。
(インターフェースでももちろん実装は可能です)
こちらが子の処理
こちらが親の処理
イベントディスパッチャーにも引数を設定することができるためインターフェースと遜色はありません
イベントディスパッチャーとインターフェースの違いですが
イベントディスパッチャーは実行時にバインドした全員に向かって大声で呼びかけるイメージで
インターフェースは実体を知っている特定の誰かに、やれたらやってくれとお願いするイメージです。
良し悪しありますがイベントディスパッチャーをお勧めします。
1 Like