Объявление
public static int DisplayDialogComplex(string title, string message, string ok, string cancel, string alt);Параметры
title | Название для диалога. |
message | Цель диалога. |
ok | Выбрана функция диалога. |
cancel | Закрыть диалог без операции. |
alt | Выберите альтернативную цель диалога. |
Возвращает
int Возвращает идентификатор выбранной кнопки. Идентификаторы 0, 1 или 2 соответствуют ok
, cancel
и кнопки alt
соответственно.
Описание
Отображает модальное диалоговое окно с тремя кнопками.
Используйте его для отображения окон сообщений в редакторе.
DisplayDialogComplex
похож на DisplayDialog. Этот элемент DisplayDialogComplex
показывает диалоговое окно с тремя кнопками. Эти кнопки обозначают ok
, cancel
и alt
. DisplayDialogComplex
возвращает целое число 0, 1 или 2, соответствующее ok
, cancel
и кнопки alt
.
Кнопка ok
используется по умолчанию, и ее также можно активировать, нажав Enter.
Кнопка отменить
считается кнопкой "отмена" и обычно не должна выполнять никаких действий. На ПК это также можно активировать, нажав Escape или нажав кнопку закрытия диалогового окна. На Mac это также можно активировать, нажав Escape, при условии, что кнопка называется «Отмена».
Кнопка alt
позволяет предоставить пользователю альтернативный выбор в дополнение к кнопкам ok
и отмена
. У этой кнопки нет фиксированного сочетания клавиш.
Для соответствия стандартным рекомендациям по пользовательскому интерфейсу платформы фактический порядок отображения кнопок зависит от платформы. В Windows порядок следующий: ok
, alt
, alt
; в macOS порядок следующий: alt
, cancel
, ok
. р>
Смотрите так же: DisplayDialog.
Приведенный ниже справочный пример скрипта создает сложное диалоговое окно. Выбранная кнопка вызывает статическую функцию Unity EditorApplication.
using UnityEngine;
using UnityEditor;
public class DisplayDlgComplexExample : EditorWindow
{
// Позволяет сохранить или нет перед выходом или отменить.
[MenuItem("Example/Quit")]
static void Init()
{
int option = EditorUtility.DisplayDialogComplex("Unsaved Changes",
"Do you want to save the changes you made before quitting?",
"Save",
"Cancel",
"Don't Save");
switch (option)
{
// Save.
case 0:
EditorApplication.SaveScene(EditorApplication.currentScene);
EditorApplication.Exit(0);
break;
// Cancel.
case 1:
break;
// Don't Save.
case 2:
EditorApplication.Exit(0);
break;
default:
Debug.LogError("Unrecognized option.");
break;
}
}
}