Exemplo n.º 1
0
        /// <summary>
        /// 创建一个错误消息窗口;
        /// </summary>
        /// <param name="onConfirm">当点击确认时的操作,若为Null则无操作</param>
        public PrefabMessageWindow CreateErrorInfoWindow(Transform parent, Exception ex, UnityAction onConfirm)
        {
            if (parent == null)
            {
                throw new ArgumentNullException(nameof(parent));
            }
            if (ex == null)
            {
                throw new ArgumentNullException(nameof(ex));
            }

            PrefabMessageWindow prefab = uiMessageWindowPrefab;
            var instance = GameObject.Instantiate(prefab, parent);

            instance.TitleMessageText.text = "Error";
            instance.MessageText.text      = ex.ToString();
            instance.MultipleChoices.Clear();

            var confirmButton = GameObject.Instantiate(buttonPrefab, instance.MultipleChoices.Transform);

            confirmButton.TextObject.text = "Confirm";
            confirmButton.ButtonObject.onClick.AddListener(() => GameObject.Destroy(instance.gameObject));
            if (onConfirm != null)
            {
                confirmButton.ButtonObject.onClick.AddListener(onConfirm);
            }

            return(instance);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 创建一个消息窗口;
        /// </summary>
        /// <param name="onConfirm">当点击确认时的操作,若为Null则无操作</param>
        public PrefabMessageWindow CreateInfoWindow(Transform parent, string titleMessage, string message, params ButtonInfo[] buttonInfos)
        {
            if (parent == null)
            {
                throw new ArgumentNullException(nameof(parent));
            }

            PrefabMessageWindow prefab = uiMessageWindowPrefab;
            var instance = GameObject.Instantiate(prefab, parent);

            instance.TitleMessageText.text = titleMessage;
            instance.MessageText.text      = message;

            instance.MultipleChoices.Clear();
            CreateButtons(instance.MultipleChoices.Transform, buttonInfos);

            return(instance);
        }