継承関係にあるWidgetの子から親の方のカスタムイベントを使用したいです。


W_InventoryMenu内へ入れた、W_InventoryDropDown内のUSEというボタンを押して


W_InventoryMenu内のCloseDropDownMenuというイベントを使用したいのですが
どのようにしたら良いでしょうか?

タブキーを押すと、W_InventoryMenuが開いて、中のアイテムをUSEしたら
Menuを消すイメージです。

あまり綺麗ではありませんがこれがとりあえず仰ってる内容を実装する最も簡単な方法かと思います。

ただ、これだとW_InventoryDropDown内で複数のボタンや方法からCloseDropDownMenuを呼び出したい時、その全ての方法に対してイベントをバインドする必要があります。

そのため
1:W_InventoryDropDown内でイベントディスパッチャーを作成。

2:W_InventoryDropDown内でメニューを閉じたいイベントがあればCloseMenuの呼び出しノードを加える。
image

3:W_InventoryMenu側ではCloseMenuに対してイベントをバインドする。
image

これでUseButtonのOnClicked時はもちろん、「適当なイベント」の時もCloseDropDownMenuイベントが発火します。

こうすればW_InventoryMenu側で何個もイベントをバインドしなくて良く、すっきりしたコードになるかと思います。

1 Like

丁寧な説明ありがとうございます!

いただいた説明をもとにノードを組んだところやりたいことができるようになりました!
ありがとうございます!