52 lines
1.6 KiB
Markdown
52 lines
1.6 KiB
Markdown
# 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 |