Unityにダイアログボックスを実装する【DisplayDialog】
はじめに
Unityでダイアログを出したいという人向けに、DisplayDialogが容易されています。一時的でいいので簡単な確認画面や選択用にポップアップが欲しい人に便利です。
公式リファレンスにも載っているのですが、ほとんど翻訳されていません。
使い方
EditorUtility.DisplayDialog()で呼び出すことが出来ます。
public static bool DisplayDialog (string title, string message, string ok, string cancel= ""); public static bool DisplayDialog (string title, string message, string ok, DialogOptOutDecisionType dialogOptOutDecisionType, string dialogOptOutDecisionStorageKey); public static bool DisplayDialog (string title, string message, string ok, string cancel= "", DialogOptOutDecisionType dialogOptOutDecisionType, string dialogOptOutDecisionStorageKey);
(公式リファレンスが悪い気がするのですが、)キャンセルに当たる文字列に、空の文字列(""またはフィールドを用意しない)を送る場合と何か文字列を送る場合でダイアログボックスが変わります。空の文字列の場合、キャンセルが表示されなくなります。(じゃあ、オーバーロード実装でいいのでは…)
下2つは2回目以降表示しないボタンが表示されます。DialogOptOutDecisionTypeで、このセッションかこの端末で2度と表示しないか選べます。
dialogOptOutDecisionStorageKeyには任意の文字列を入力します。これがキーになります。
当然ですが、このボタンを押すとこのダイアログボックスは表示されなくなります。解除するにはEditorPrefsから削除しなければいけないようです。
下2つの場合はcancelの値に関わらずボタンが表示されます。