Esempio n. 1
0
        /// <summary>
        /// 显示一个确认信息框  有两个按钮
        /// </summary>
        /// <param name="title"></param>
        /// <param name="msg"></param>
        /// <param name="handle">回调</param>
        /// <param name="request">其他额外设置</param>
        public static void Confirm(string title, string msg, MessageBoxCallback handle, MessageBoxResquest request)
        {
            if (request == null)
            {
                return;
            }
            request.m_MSGType      = MessageBoxResquest.MessageType.Information;
            request.m_MSGBtn       = MessageBoxResquest.MessageBoxButton.YESNO;
            request.m_Title        = title;
            request.m_MessageInfor = msg;

            MessageBoxModel.GetInstance().ShowMessageBox(request, handle);
        }
Esempio n. 2
0
        public override void Hide()
        {
            EventCenter.GetInstance().RemoveUpdateEvent(FollowCamera, EventCenter.UpdateRate.NormalFrame);
            CancelInvoke("UpdateTickView");
            MessageBoxModel.GetInstance().RemoveMessageBox(MsgBoxID, BoxLevel);

            if (MessageBox.MsgBoxPool != null)
            {
                MessageBox.MsgBoxPool.Recycle(this, MessageBoxResquest.MessageType.Information);
            }


            if (handle != null)
            {                     //默认所有的响应操作全在这里被调用 方便统一管理
              //*****后面需要考虑 有些面板关闭时不会处理消息 而是强制等待用户响应
                handle(response); //处理事件
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 自定义消息框  不能被用户调用触发,只能被消息系统内部调用
        /// </summary>
        /// <param name="request"></param>
        /// <param name="handle"></param>
        public static BaseMessageBox Show(MessageBoxResquest request, MessageBoxCallback handle, int id = -1)
        {
            BaseMessageBox result       = null;
            GameObject     _boxResource = null;

            switch (request.m_MSGType)
            {
            case MessageBoxResquest.MessageType.Information:
                #region 弹出提示框
                if (MsgBoxPool != null)
                {
                    result = MsgBoxPool.GetInstance("UIMessageBox", MessageBoxResquest.MessageType.Information, null, (messageBox) =>
                    {
                        //Debug.Log("AAAAAAAAAAAAAAAAAAAAAAAAA " + messageBox.gameObject.name + " ::" + messageBox.BoxLevel);
                        messageBox.Show(request, handle, id);
                    });
                }
                break;

                #endregion
            case MessageBoxResquest.MessageType.InputBox:
                #region 弹出输入框
                _boxResource = Resources.Load <GameObject>("Prefabs/UI/MessageBox/UIInputMessageBox");
                if (_boxResource != null)
                {
                    GameObject  box       = GameObject.Instantiate(_boxResource);
                    IMessageBox _imessage = box.GetComponent <IMessageBox>();
                    _imessage.Show(request, handle);
                }
                #endregion
                break;

            case MessageBoxResquest.MessageType.SystemBroadcast:
                #region 弹出走马灯效果
                if (UISystemMessageBox.Instance == null)
                {
                    _boxResource = Resources.Load <GameObject>("Prefabs/UI/MessageBox/UISystemBroadcast");
                    if (_boxResource != null)
                    {
                        GameObject  box       = GameObject.Instantiate(_boxResource);
                        IMessageBox _imessage = box.GetComponent <IMessageBox>();
                        _imessage.Show(request, handle);
                    }
                }
                else
                {
                    UISystemMessageBox.Instance.Show(request, handle);
                }

                #endregion
                break;

            case MessageBoxResquest.MessageType.TipsBox:
                #region 弹出提示框
                ////_boxResource = Resources.Load<GameObject>("Prefabs/UI/MessageBox/UITipBox");
                ////if (_boxResource != null)
                ////{
                ////    GameObject box = GameObject.Instantiate(_boxResource);
                ////    result = box.GetComponent<BaseMessageBox>();
                ////    result.Show(request, handle);
                ////}

                #region 弹出提示框
                if (MsgBoxPool != null)
                {
                    result = MsgBoxPool.GetInstance("UITipBox", MessageBoxResquest.MessageType.TipsBox, null, (tipBox) => { tipBox.Show(request, handle, id); });      //对象池中没有类型标示获得的池对象类型不对
                }
                #endregion
                #endregion
                break;

            case MessageBoxResquest.MessageType.ProgressBar:
                #region 弹出进度匡
                _boxResource = Resources.Load <GameObject>("Prefabs/UI/MessageBox/UIProgressBox");
                if (_boxResource != null)
                {
                    GameObject  box       = GameObject.Instantiate(_boxResource);
                    IMessageBox _imessage = box.GetComponent <IMessageBox>();
                    _imessage.Show(request, handle);
                }

                #endregion
                break;

            case MessageBoxResquest.MessageType.SystemWait:
                #region 弹出系统等待框
                _boxResource = Resources.Load <GameObject>("Prefabs/UI/MessageBox/UISystemWaitBox");
                if (_boxResource != null)
                {
                    GameObject  box       = GameObject.Instantiate(_boxResource);
                    IMessageBox _imessage = box.GetComponent <IMessageBox>();
                    _imessage.Show(request, handle);
                }
                #endregion
                break;

            case MessageBoxResquest.MessageType.VRBrocard:
                #region 显示公告板内容
                MessageBoxModel.GetInstance().ShowVRBrocardMessage(request, handle);
                #endregion
                break;

            case MessageBoxResquest.MessageType.SystemTip:
                #region 显示系统提示框
                _boxResource = Resources.Load <GameObject>("Prefabs/UI/MessageBox/UISystemTip");
                if (_boxResource != null)
                {
                    GameObject  box       = GameObject.Instantiate(_boxResource);
                    IMessageBox _imessage = box.GetComponent <IMessageBox>();
                    _imessage.Show(request, handle);
                }
                #endregion
                break;
            }

            return(result);
        }