Skip to main content

messagebox

MessageBox async modal dialogs for Unity with UniTask. Triggers on: confirmation dialog, modal popup, prompt, alert, user confirmation, yes/no dialog, OK/Cancel, async dialog, await user input, delete confirmation, save confirmation

Quellinformationen

Repository
JasonXuDeveloper/JEngine
Letzte Quellaktivität
29. Januar 2026 um 05:42
Erkannte Sprache von SKILL.md
Englisch
Sterne
2.244
Forks
350

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
messagebox
description
MessageBox async modal dialogs for Unity with UniTask. Triggers on: confirmation dialog, modal popup, prompt, alert, user confirmation, yes/no dialog, OK/Cancel, async dialog, await user input, delete confirmation, save confirmation
# MessageBox - Async Modal Dialogs Built on UniTask for non-blocking async operations with automatic object pooling. ## When to Use - Confirmation dialogs (Yes/No, OK/Cancel) - Information prompts (OK only) - Awaiting user decisions in gameplay ## API ### Show Method ```csharp public static UniTask<bool> Show( string title, string content, string ok = "OK", string no = "Cancel" ) ``` Returns `true` for confirm, `false` for cancel. ### Management - `MessageBox.CloseAll()` - Dismiss all active dialogs (for scene transitions) - `MessageBox.Dispose()` - Release all pooled instances (app shutdown) - `MessageBox.ActiveCount` - Currently displayed dialogs - `MessageBox.PooledCount` - Cached instances in pool ## Patterns ### Confirmation Dialog ```csharp bool confirmed = await MessageBox.Show( "Delete Item", "Are you sure you want to delete this item?", ok: "Delete", no: "Cancel" ); if (confirmed) { DeleteItem(); } ``` ### Custom Button Text ```csharp bool saved = await MessageBox.Show( "Save Changes", "Keep your changes?", ok: "Save", no: "Discard" ); ``` ### Single Button (Notification) ```csharp // Pass null or empty string to hide cancel button await MessageBox.Show( "Success", "Operation completed!", ok: "OK", no: null ); ``` ### Clean Up Before Scene Change ```csharp MessageBox.CloseAll(); SceneManager.LoadScene("NextScene"); ``` ## Common Mistakes - Forgetting to await (dialog shows but code continues immediately) - Not handling both true/false return values - Not calling CloseAll() before scene transitions
Auf GitHub ansehen