# 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