執筆バージョン: Unreal Engine 4.21
|
今回はUEを触ってれば見かける右下に表示される通知ウィンドウ

を各プロジェクトの専用通知として使用する方法をご紹介したいと思います。
では早速サンプルをどうぞ
使用する方法はシンプルで
1:FNotificationInfoに通知のテキストや文字サイズなどを設定する
2:FSlateNotificationManagerのAddNotificationに1で設定したFNotificationInfoを渡しSNotificationItemを生成する
の2ステップだけ!
FNotificationInfoの設定項目
変数名 |
説明 |
備考 |
Text |
通知で表示させる文章を設定
|
|
bFireAndForget
|
ExpireDurationで設定された時間が経過したとき勝手に通知を閉じていいか判定するためのフラグ(デフォルトはTrue) |
Falseにした場合は生成されたSNotificationItem保持し任意のタイミングでExpireAndFadeout()またはFadeout()で自分で呼び出す必要があります(※1) |
ExpireDuration
|
表示時間 |
|
bUseLargeFont |
通知時の文字のサイズ大きいものを使用するかどうかのフラグ |
Trueの場合⇓

Falseの場合⇓

|
HyperlinkText
|
通知の下にここで設定した文字のリンクを追加する |
これだけだとリンクが追加されるだけなので次のHyperlinkも設定する必要あり |
Hyperlink
|
HyperlinkTextで設定されたリンクをクリックされたとき呼ばれるデリゲート |
|
Image
|
これです。 |
注意としてここで渡すFSlateBrushは生のポインタとなっているため渡されたテクスチャなどは必ず設定された通知が終了するまで保持しとく必要があります。
|
ButtonDetails |
FNotificationButtonInfoをセットすることで通知領域にボタンを追加することができます。
またFNotificationButtonInfoには通知の状態(※2)によってボタンを(非)表示するかの設定が可能です。 |
 |
簡単ではありますがUEでよく見る通知ウィンドウの使用方法についてのご紹介は以上になります。
UE上ではコンパイル終了通知やSource Controlの操作完了通知などエディター上で使用されることがほとんどですがパッケージングしたプロジェクトでも使用できるため
ゲーム以外の用途でUEを使用されてる場合などで使用することがあるかもしれません。(ないかもしれません)
また今回紹介した設定項目以外に、通知表示のまでのフェードイン(アウト)時間やアイコンの(非)表示判定なども可能なので興味がありましたら
Engine\Source\Runtime\Slate\Public\Widgets\Notifications\SNotificationList.hを参照してみてください。
少しでも皆様の開発に役立てばと思います。
ここまで読んでいただきありがとうございました。
※1:もし消さなかったら…こんなことに…

※2:通知の状態とは?
予めUEでは4パターン定義されておりSNotificationItemのECompletionStateで確認することができます。設定した場合は以下のような右側にアイコンが表示されます

画像の上から順に
SNotificationItem::ECompletionState::None
SNotificationItem::ECompletionState::Pending
SNotificationItem::ECompletionState::Success
SNotificationItem::ECompletionState::Fail
と紐付いています。