/// <summary> /// Constructor /// </summary> /// <param name="title">Title</param> /// <param name="message">Message</param> /// <param name="dialogType">Dialog tyoe</param> /// <param name="dialogButtons">Dialog buttons</param> /// <param name="buttons">Buttons</param> /// <param name="onDialogResponded">On dialog responded</param> internal Dialog(string title, string message, EDialogType dialogType, EDialogButtons dialogButtons, IReadOnlyList <string> buttons, DialogRespondedDelegate onDialogResponded) { Title = title ?? throw new ArgumentNullException(nameof(title)); Message = message ?? throw new ArgumentNullException(nameof(message)); DialogType = dialogType; DialogButtons = dialogButtons; Buttons = DialogButtons switch { EDialogButtons.OKCancel => new string[] { Dialogs.OKString, Dialogs.CancelString }, EDialogButtons.YesNo => new string[] { Dialogs.YesString, Dialogs.NoString }, EDialogButtons.YesNoCancel => new string[] { Dialogs.YesString, Dialogs.NoString, Dialogs.CancelString }, EDialogButtons.OK => new string[] { Dialogs.OKString }, EDialogButtons.Custom => buttons ?? throw new ArgumentNullException(nameof(buttons)), _ => throw new NotImplementedException() }; OnDialogResponded = onDialogResponded; } }
/// <summary> /// Shows dialog /// </summary> /// <param name="title">Title</param> /// <param name="message">Message</param> /// <param name="dialogType">Dialog type</param> /// <param name="dialogButtons">Dialog buttons</param> public static void Show(string title, string message, EDialogType dialogType, EDialogButtons dialogButtons) => Show(title, message, dialogType, dialogButtons, null);
/// <summary> /// Shows dialog /// </summary> /// <param name="title">Title</param> /// <param name="message">Message</param> /// <param name="dialogType">Dialog type</param> /// <param name="dialogButtons">Dialog buttons</param> /// <param name="onDialogResponse">On dialog response</param> public static void Show(string title, string message, EDialogType dialogType, EDialogButtons dialogButtons, DialogRespondedDelegate onDialogResponse) { if (title == null) { throw new ArgumentNullException(nameof(title)); } if (message == null) { throw new ArgumentNullException(nameof(message)); } DialogManagerScript dialog_manager = DialogManagerScript.Instance; if (dialog_manager != null) { dialog_manager.Show(new Dialog(title, message, dialogType, dialogButtons, null, onDialogResponse)); } }