public static ResultData Show(UIControl parent, string text, string caption, EMessageBoxButtons buttons)
        {
            var window = CreateWindow(parent, text, caption);

            if (window == null)
            {
                return(null);
            }

            EDialogResult[] results = null;
            switch (buttons)
            {
            case EMessageBoxButtons.OK:
                results = new EDialogResult[] { EDialogResult.OK };
                break;

            case EMessageBoxButtons.OKCancel:
                results = new EDialogResult[] { EDialogResult.OK, EDialogResult.Cancel };
                break;

            case EMessageBoxButtons.AbortRetryIgnore:
                results = new EDialogResult[] { EDialogResult.Abort, EDialogResult.Retry, EDialogResult.Ignore };
                break;

            case EMessageBoxButtons.YesNoCancel:
                results = new EDialogResult[] { EDialogResult.Yes, EDialogResult.No, EDialogResult.Cancel };
                break;

            case EMessageBoxButtons.YesNo:
                results = new EDialogResult[] { EDialogResult.Yes, EDialogResult.No };
                break;

            case EMessageBoxButtons.RetryCancel:
                results = new EDialogResult[] { EDialogResult.Retry, EDialogResult.Cancel };
                break;
            }

            var resultData = new ResultData();

            ConfigureButtons(window, results, resultData);

            //add to parent and enable
            parent.AddComponent(window);

            return(resultData);
        }
Example #2
0
        protected override void OnGUI()
        {
            if (string.IsNullOrEmpty(message))
            {
                var rect = new Rect(20, Size.y / 2 - 8, Size.x - 35, 16);
                value = EditorGUI.TextField(rect, value);
            }
            else
            {
                var recta = new Rect(20, Size.y / 2 - 20, Size.x - 35, 16);
                EditorGUI.LabelField(recta, message, style);
                var rect = new Rect(20, Size.y / 2 - 4, Size.x - 35, 16);
                value = EditorGUI.TextField(rect, value);
            }

            if (GUI.Button(new Rect(Size.x - 175, Size.y - 35, 75, 20), "OK"))
            {
                result = EDialogResult.OK;
                Close();
            }
            if (GUI.Button(new Rect(Size.x - 90, Size.y - 35, 75, 20), "Cancel"))
            {
                result = EDialogResult.Cancel;
                Close();
            }

            if (Input.KeyReleased(KeyCode.KeypadEnter) || Input.KeyReleased(KeyCode.Return))
            {
                result = EDialogResult.OK;
                Close();
            }

            if (Input.KeyReleased(KeyCode.Escape))
            {
                result = EDialogResult.Cancel;
                Close();
            }
        }
Example #3
0
        protected override void OnGUI()
        {
            var rect = new Rect(20, 20, Size.x - 35, Size.y - 60);

            EditorGUI.LabelField(rect, message, style);

            switch (buttons)
            {
            case EMessageBoxButtons.OK:
                if (GUI.Button(new Rect(Size.x - 90, Size.y - 35, 75, 20), "OK"))
                {
                    result = EDialogResult.OK;
                    Close();
                }
                break;

            case EMessageBoxButtons.OKCancel:
                if (GUI.Button(new Rect(Size.x - 175, Size.y - 35, 75, 20), "OK"))
                {
                    result = EDialogResult.OK;
                    Close();
                }
                if (GUI.Button(new Rect(Size.x - 90, Size.y - 35, 75, 20), "Cancel"))
                {
                    result = EDialogResult.Cancel;
                    Close();
                }
                break;

            case EMessageBoxButtons.YesNo:
                if (GUI.Button(new Rect(Size.x - 175, Size.y - 35, 75, 20), "Yes"))
                {
                    result = EDialogResult.Yes;
                    Close();
                }
                if (GUI.Button(new Rect(Size.x - 90, Size.y - 35, 75, 20), "No"))
                {
                    result = EDialogResult.No;
                    Close();
                }
                break;

            case EMessageBoxButtons.YesNoCancel:
                if (GUI.Button(new Rect(Size.x - 260, Size.y - 35, 75, 20), "Yes"))
                {
                    result = EDialogResult.Yes;
                    Close();
                }
                if (GUI.Button(new Rect(Size.x - 175, Size.y - 35, 75, 20), "No"))
                {
                    result = EDialogResult.No;
                    Close();
                }
                if (GUI.Button(new Rect(Size.x - 90, Size.y - 35, 75, 20), "Cancel"))
                {
                    result = EDialogResult.Cancel;
                    Close();
                }
                break;
            }
        }