EditorDialog.DisplayComplexDecisionDialogWithOptOut
Declaration
public static DialogResult DisplayComplexDecisionDialogWithOptOut(string titleText, string messageText, string defaultButtonText, string altButtonText, string cancelButtonText, DialogOptOutDecisionType optOutDecisionType, string optOutKey, DialogIconType iconType);Параметры
| Параметр | Описание |
|---|---|
| titleText | Название диалога. Если оставить null, по умолчанию будет "Unity". |
| messageText | Сообщение, отображаемое в диалоговом окне. |
| defaultButtonText | Текст, который будет отображаться на кнопке по умолчанию. Если оставить нулевым, по умолчанию будет «Да». |
| altButtonText | Текст, который будет отображаться на альтернативной кнопке. Если оставить нулевым, по умолчанию будет "Нет". |
| cancelButtonText | Текст, который будет отображаться на кнопке отмены. Если оставить нулевым, по умолчанию будет отображаться "Отмена". |
| optOutDecisionType | Где хранится результат, если пользователь выходит из диалога, что он может сделать, если включит Больше не спрашивать в диалоге. |
| optOutKey | Ключ, используемый для сохранения решения об отказе. |
| iconType | Значок для отображения в диалоговом окне. По умолчанию DialogIconType.Warning. |
Возвращаемое значение
DialogResult Результат диалога или сохранённое решение. DialogResult.Cancel если пользователь нажал кнопку отмены, DialogResult.DefaultAction если пользователь нажал кнопку по умолчанию, или DialogResult.AlternateAction если пользователь нажал альтернативную кнопку.
Описание
Отображает диалоговое окно сложного решения с заголовком, значком, сообщением, тремя кнопками и флагом отказа.
Если messageText является нулевым или пробелом, а ArgumentNullException брошен. Если messageText длина сообщения превышает 512 символов, оно обрезается и полное сообщение регистрируется в консоли в формате markdown.
Если текст любой кнопки длиннее 64 символов, ArgumentException брошена.
Если пользователь нажимает клавишу Enter (клавишу Return на macOS), кнопка по умолчанию нажимается. Альтернативная кнопка предназначена для дополнительных действий или для предоставления другого выбора, чем кнопка по умолчанию. Кнопка отмены закрывает диалоговое окно без выполнения каких-либо дальнейших действий. Если пользователь нажимает клавишу Эскапа или закрывает диалог, кнопка отмены нажимается. macOS, ориентация кнопок может быть горизонтальной или вертикальной в зависимости от длины сообщения. Кроме того, если расположение горизонтальное, расположение кнопок отличается от Windows или Linux, с кнопкой по умолчанию справа и альтернативной кнопкой слева.
Если optOutKey не является действительным XML тега, или более 127 символов длины, а ArgumentException следует позаботиться о том, чтобы ключ был уникальным для отображаемого диалогового окна, чтобы избежать конфликтов. API Заботится о сохраненном решении, так что вам не нужно проверять значение ключа перед отображением диалогового окна. Пользователи могут сбросить решение в Настройках Редактора. Решение не сохраняется, если пользователь нажмет кнопку отмены.
В следующем примере показано, как отобразить диалоговое окно сложного решения со значком предупреждения, заголовком, сообщением, кнопками Да, Нет и Отменить и флагом отказа.
using UnityEditor; using UnityEngine;
namespace Examples { public class DisplayComplexDecisionDialogWithOptOutExample : MonoBehaviour { [MenuItem("Window/EditorDialog Example/DisplayComplexDecisionDialogWithOptOut")] public static void DisplayAlertDialogExample() { DialogResult userResponse = EditorDialog.DisplayComplexDecisionDialogWithOptOut( null, @"This is a test of the EditorDialog API.
If you check the box and select 'Yes' or 'No', you will not see this dialog again until you restart the Editor.", null, null, null, DialogOptOutDecisionType.ForThisSession, "ComplexDecision", DialogIconType.Info);
Debug.Log(userResponse); } } }
Выводит следующее диалоговое окно на macOS:
.