# WBP_NotificationToast — Widget (Toast Notification) **Parent:** `UUserWidget` **Used by:** Any system via dispatcher **Depends On:** `WBP_HUDController` --- ### Purpose Non-blocking toast notification that slides in from top/left edge, displays for a duration, then slides out. ### Variables | Name | Type | Description | |------|------|-------------| | `ToastText` | `TextBlock` | Notification body | | `ToastIcon` | `Image` | Optional icon | | `ToastDuration` | Float | Seconds before auto-hide (2-5) | | `AnimSlideIn` | `WidgetAnimation` | Slide in | | `AnimSlideOut` | `WidgetAnimation` | Slide out | | `ToastQueue` | Array of `FToastData` | Queued notifications if one is active | ### Structs ```cpp FToastData { FText Message; UTexture2D* Icon; float Duration; EToastPriority Priority; // Low, Normal, High } ``` ### Functions | Name | Inputs | Outputs | Description | |------|--------|---------|-------------| | `ShowToast` | Data: `FToastData` | — | If not playing, start; else queue | | `PlaySlideIn` | — | — | Play AnimSlideIn, set timer for duration | | `OnToastFinished` | — | — | Play AnimSlideOut, dequeue next | | `DismissAll` | — | — | Clear queue, force hide | ### Communications With | Target System | Method | Why | |--------------|--------|-----| | [`WBP_HUDController`](WBP_HUDController.md) | Parent reference / Dispatcher | Toast display routing | ### Reuse Notes - Uses a queue system — any system can fire a toast by calling the appropriate dispatcher on WBP_HUDController - Split from original bundled `36_WBP_MenuWidgets.md` per Clean Slate refactoring plan