Esempio n. 1
0
        /// <summary>
        /// 打开一个弹窗界面
        /// </summary>
        /// <param name="popupOperate"></param>
        /// <param name="belongPageView">当前弹窗属于哪个Page 管理 ,如果=null则表示属于当前打开的界面 否则指定的参数界面 </param>
        /// <param name="isFailRecord">如果是因为优先级而无法弹出 则表示是否需要记录 如果为false 则当无法显示时候不会自动弹出,而是隐藏了</param>
        /// <param name="parameter"></param>
        ///
        public void OpenPopUp(PopupOpenOperateEnum popupOperate, UIBasePageView belongPageView, bool isFailRecord, UIParameterArgs parameter)
        {
            if (parameter == null)
            {
                Debug.LogError("parameter 不要使用null  使用默认的 UIParameterArgs.Create() 无参数方法替代");
                return;
            }
#if UNITY_EDITOR
            if (this.WindowType != WindowTypeEnum.PopUp)
            {
                Debug.LogError("OpenPopUp Fail,Not Popup Window " + this.name);
                return;
            }
#endif
            Dictionary <int, UIBasePopupView> allWillHidePopupView = GetWillHidePopupView(this, popupOperate, isFailRecord, parameter);
            foreach (var item in allWillHidePopupView)
            {
                item.Value.HideWindow(UIParameterArgs.Create());
                m_AllRecordViewPopup.RemoveAt(item.Key);
            }
            if (belongPageView == null)
            {
                belongPageView = UIBasePageView.CurOpenPage;
            }

            UIParameterArgs args0 = UIParameterArgs.Create(belongPageView, isFailRecord);
            this.ShowWindow(Helper.Instance.MegerUIParameter(args0, parameter)); //注意这里的第一个参数
            m_AllRecordViewPopup.Add(this);
        }
Esempio n. 2
0
 /// <summary>
 /// / 外部调用 关闭窗口
 /// </summary>
 public virtual void HideWindow(UIParameterArgs parameter)
 {
     if (IsCompleteShow == false)
     {
         Debug.LogEditorInfor("HideWindow Exception !!! Is Not Complete ShowWindow Process " + gameObject.name);
     }
 }
        public override void HideWindow(UIParameterArgs parameter)
        {
            base.HideWindow(parameter);


            OnCompleteHideWindow();
        }
        public override void ShowWindow(UIParameterArgs parameter)
        {
            base.ShowWindow(parameter);
            ShowDefaultView();

            OnCompleteShowWindow();
        }
Esempio n. 5
0
 /// <summary>
 /// 记录由于优先级关闭而不能显示的弹窗
 /// </summary>
 public virtual void FailShowByPriority(UIParameterArgs parameter)
 {
     WillPopupParameter = parameter;
     if (IsActivate)
     {
         gameObject.SetActive(false);
     }
 }
        private void OnLoginBtnClick()
        {
            if (m_IsShowPassworld)
            {
                Debug.LogEditorInfor("OnLoginBtnClick  >密码>" + m_InputFieldProPasswordInputField.text);
            }

            int playerNameCharCount     = System.Text.Encoding.Default.GetBytes(m_inputNameInputField.text).Length;
            int playerPasswordCharCount = System.Text.Encoding.Default.GetBytes(m_InputFieldProPasswordInputField.text).Length;

            if (playerNameCharCount < S_MinPlayerNameCharLimt || playerNameCharCount > S_MaxPlayerNameCharLimt)
            {
                Debug.LogError("用户名不合法");
                UIHelper.Instance.ShowTipsViewSync(string.Format(m_PlayerNameCharLimitStr, S_MinPlayerNameCharLimt, S_MaxPlayerNameCharLimt), 2);
                return;
            }
            if (playerPasswordCharCount < S_MinPlayerPasswordCharLimt || playerPasswordCharCount > S_MaxPlayerPasswordCharLimt)
            {
                Debug.LogError("用户密码不合法");
                UIHelper.Instance.ShowTipsViewSync(string.Format(m_PlayerPasswordCharLimitStr, S_MinPlayerPasswordCharLimt, S_MaxPlayerPasswordCharLimt), 2);
                return;
            }

            string inputPassworld = m_InputFieldProPasswordInputField.text;

            inputPassworld = inputPassworld.Trim();
            if (inputPassworld != m_RealPassworld)
            {
                if (m_LoginAccount == null)
                {
                    m_LoginAccount = new LocalAccountInfor(m_PreviousInputPlayerName, m_PreviousInputPlayerPassword);
                }

                Debug.Log("保存账户信息");
                LocalAccountMgr.Instance.UpdateLocalAccount(m_LoginAccount);
            } //更新本地账户列表



            if (UIViewReference.Instance.UiAssetUpdateView != null && UIViewReference.Instance.UiAssetUpdateView.IsActivate)
            {
                UIViewReference.Instance.UiAssetUpdateView.ClosePage(UIParameterArgs.Create(), UIParameterArgs.Create());
            }



            UIViewReference.Instance.UiCanvasMaskView.OpenWidget(UIManagerHelper.Instance.WidgetParentTrans, 0, true, UIParameterArgs.Create());

            AppSceneManager.Instance.LoadSceneAsync(SceneNameEnum.StartUp, LoadSceneModeEnum.KeepPrevious, (isComplete) =>
            {
                UIViewReference.Instance.UiCanvasMaskView.CloseWidget(false, UIParameterArgs.Create(false, true));
                if (isComplete)
                {
                    Debug.LogInfor("应用已经起来了..Go!!!");
                }
            }, () => { Debug.LogInfor("卸载其他场景完成"); }
                                                    );
        }
Esempio n. 7
0
        /// <summary>
        /// 处理关闭当前弹窗时候的逻辑
        /// </summary>
        /// <param name="view"></param>
        /// <param name="closeOperate"></param>
        private void DealHidePopView(PopupCloseOperateEnum closeOperate)
        {
            if (m_AllRecordViewPopup.Count == 0)
            {
                return;
            }
            UIBasePopupView nectShowPage = null; //关闭这个弹窗口这个弹窗打开之前的弹窗

            switch (closeOperate)
            {
            case PopupCloseOperateEnum.Simple:
                break;

            case PopupCloseOperateEnum.AutoPopup:
                for (int dex = m_AllRecordViewPopup.Count - 1; dex >= 0; --dex)
                {
                    if (dex > 0 && m_AllRecordViewPopup[dex] == this)
                    {
                        nectShowPage = m_AllRecordViewPopup[dex - 1];
                        break;
                    }
                }
                AutoPupupView(nectShowPage);
                break;

            case PopupCloseOperateEnum.CloseAndClearCurPage:
                List <int> allPopupViewCurPage = new List <int>();
                for (int dex = m_AllRecordViewPopup.Count - 1; dex >= 0; --dex)
                {
                    if (m_AllRecordViewPopup[dex] != this && m_AllRecordViewPopup[dex].BelongPageView == this.BelongPageView)
                    {
                        allPopupViewCurPage.Add(dex);
                    }
                }

                for (int dex = 0; dex < allPopupViewCurPage.Count; ++dex)
                {
                    m_AllRecordViewPopup[dex].HideWindow(UIParameterArgs.Create());
                }    //关闭弹窗

                allPopupViewCurPage.Reverse();
                for (int dex = 0; dex < allPopupViewCurPage.Count; ++dex)
                {
                    m_AllRecordViewPopup.RemoveAt(allPopupViewCurPage[dex]);
                }    //删除打开记录

                if (m_LowerPriorityPopupView.ContainsKey(this.BelongPageView))
                {
                    m_LowerPriorityPopupView[this.BelongPageView].Clear();
                }
                break;

            default:
                Debug.LogError("没有处理的类型  " + closeOperate);
                break;
            }
        }
Esempio n. 8
0
 /// <summary>
 /// 外部调用 显示窗口
 /// </summary>
 /// <param name="parameter"></param>
 public virtual void ShowWindow(UIParameterArgs parameter)
 {
     if (IsShowingWindow == false)
     {
         IsShowingWindow = true;
         gameObject.SetActive(true);
     }
     IsCompleteShow = false;
 }
Esempio n. 9
0
        /// <summary>
        /// 打开一个弹窗时候根据需求 获取需要关闭的弹窗
        /// </summary>
        /// <param name="view"></param>
        /// <param name="popupOperate"></param>
        private Dictionary <int, UIBasePopupView> GetWillHidePopupView(UIBasePopupView popupView, PopupOpenOperateEnum popupOperate, bool isFailRecord, UIParameterArgs parameter)
        {
            Dictionary <int, UIBasePopupView> allWillHidePopupView = new Dictionary <int, UIBasePopupView>();

            if (m_AllRecordViewPopup.Count == 0)
            {
                return(allWillHidePopupView);
            }

            switch (popupOperate)
            {
            case PopupOpenOperateEnum.KeepPreviousAvailable:
                break;

            case PopupOpenOperateEnum.HideAllOpenView:
                for (int dex = 0; dex < m_AllRecordViewPopup.Count; ++dex)
                {
                    allWillHidePopupView.Add(dex, m_AllRecordViewPopup[dex]);
                }
                break;

            case PopupOpenOperateEnum.HideCurPagePopupView:
                for (int dex = 0; dex < m_AllRecordViewPopup.Count; ++dex)
                {
                    if (m_AllRecordViewPopup[dex].BelongPageView == popupView.BelongPageView)
                    {
                        allWillHidePopupView.Add(dex, m_AllRecordViewPopup[dex]);
                    }
                }     //获取当前弹窗所属的页面
                break;

            case PopupOpenOperateEnum.PriorityOrder:
                if (m_AllRecordViewPopup[m_AllRecordViewPopup.Count - 1].Priority >= popupView.Priority)
                {
                    if (isFailRecord)
                    {
                        RecordWillPopupView(popupView.BelongPageView, popupView);
                        popupView.FailShowByPriority(parameter);      //记录参数
                    }
                    else
                    {
                        popupView.HideWindow(UIParameterArgs.Create());
                    }
                }      //加入到待弹出界面中
                else
                {
                    allWillHidePopupView.Add(m_AllRecordViewPopup.Count - 1, m_AllRecordViewPopup[m_AllRecordViewPopup.Count - 1]);
                }
                break;

            default:
                Debug.LogError("没有处理的枚举类型 " + popupOperate);
                break;
            }
            return(allWillHidePopupView);
        }
Esempio n. 10
0
 /// <summary>
 /// 关闭一个页面所有关联的Popup /Widget
 /// </summary>
 /// <param name="view"></param>
 private void ClosePageConnectView(UIBasePageView view)
 {
     if (view != null)
     {
         view.HideWindow(UIParameterArgs.Create());
         UIBasePopupView.RemoveWillPopupView(view);                                           //关闭当前界面所包含的弹窗(没有弹出的)
         UIBasePopupView.CloseConnectPopupView(view);                                         //关闭当前界面所包含的弹窗 (已经弹出的)
         UIBaseWidgetView.CloseAttachWidget(view.transform, false, UIParameterArgs.Create()); //关闭关联的Widget
     }
 }
Esempio n. 11
0
        public override void ShowWindow(UIParameterArgs parameter)
        {
            base.ShowWindow(parameter);
            if (parameter == null || parameter.ParemeterCount < 2)
            {
                Debug.LogError("飘字弹窗不合法");
                return;
            }
            m_ShowTipsContent = parameter.GetParameterByIndex(1).ToString();

            StartCoroutine(OnEnumerateShowWindow());
        }
Esempio n. 12
0
        /// <summary>
        /// 显示Widget
        /// </summary>
        /// <param name="view"></param>
        /// <param name="parentTrans"></param>
        /// <param name="showTime"></param>
        /// <param name="isSingleton"></param>
        /// <param name="parameter"></param>
        private void ShowWidgetView(UIBaseWidgetView view, Transform parentTrans, float showTime, bool isSingleton, UIParameterArgs parameter)
        {
            if (view.rectransform.parent != parentTrans)
            {
                view.rectransform.SetParent(parentTrans);
            }
            view.rectransform.ResetRectTransProperty();

            UIParameterArgs parameter1 = UIParameterArgs.Create(parentTrans, showTime, isSingleton);

            view.ShowWindow(Helper.Instance.MegerUIParameter(parameter1, parameter));
        }
Esempio n. 13
0
        public override void ShowWindow(UIParameterArgs parameter)
        {
#if UNITY_EDITOR
            if (parameter == null || parameter.ParemeterCount < 3)
            {
                Debug.LogEditorInfor("ShowWindow Fail, 没有传入当前弹窗所属的界面");
                return;
            }
#endif
            BelongParent  = parameter.GetParameterByIndex(0) as Transform;
            HideDelayTime = float.Parse(parameter.GetParameterByIndex(1).ToString());
            IsSinglenton  = bool.Parse(parameter.GetParameterByIndex(2).ToString());

            base.ShowWindow(parameter);
        }
Esempio n. 14
0
        public override void ShowWindow(UIParameterArgs parameter)
        {
#if UNITY_EDITOR
            if (parameter == null || parameter.ParemeterCount < 1)
            {
                Debug.LogEditorInfor("ShowWindow Fail, 没有传入当前弹窗所属的界面");
                return;
            }
#endif

            BelongPageView = parameter.GetParameterByIndex(0) as UIBasePageView;
            // object[] newParameter =new object[parameter.Length - 1];
            //   System.Array.Copy(parameter, 0, newParameter, 1, parameter.Length - 1);  //去掉第一个参数
            parameter.CutParameterToFront(0);  //去掉第一个参数
            base.ShowWindow(parameter);
        }
Esempio n. 15
0
        public override void ShowWindow(UIParameterArgs parameter)
        {
            base.ShowWindow(parameter);

            GetWiilShowConfig(parameter, 0, m_DefaultBottomMenuEnums, ref m_BottomMenuEnums);
            GetWiilShowConfig(parameter, 1, m_DefaultTopMenuEnums, ref m_TopMenuEnums);
            GetWiilShowConfig(parameter, 2, m_DefaultLeftMenuEnums, ref m_LeftMenuEnums);


            CreateBottomMenuItems();
            CreateTopMenuItems();
            CreateLeftMenuItems();


            OnCompleteShowWindow();
        }
Esempio n. 16
0
        /// <summary>
        /// 关闭页面时候 关闭关联的已经打开的弹窗
        /// </summary>
        /// <param name="pageview"></param>
        public static void CloseConnectPopupView(UIBasePageView belongPageView)
        {
            if (belongPageView == null)
            {
                Debug.LogError("ClosePopupView Is Null Page");
                return;
            }

            for (int dex = m_AllRecordViewPopup.Count - 1; dex >= 0; --dex)
            {
                if (m_AllRecordViewPopup[dex].BelongPageView == belongPageView)
                {
                    m_AllRecordViewPopup[dex].HideWindow(UIParameterArgs.Create());
                    m_AllRecordViewPopup.RemoveAt(dex);
                }
            }
        }
Esempio n. 17
0
        /// <summary>
        /// 打开弹窗
        /// </summary>
        /// <param name="view"></param>
        /// <param name="autoDestroyTime">自动销毁时间 为0标识不会自毁</param>
        /// <param name="parameter"></param>
        public void OpenTip(UIParameterArgs parameter, float autoDestroyTime = 0f)
        {
            if (parameter == null)
            {
                Debug.LogError("parameter 不要使用null  使用默认的 UIParameterArgs.Create() 无参数方法替代");
                return;
            }
#if UNITY_EDITOR
            if (this.WindowType != WindowTypeEnum.PopTip)
            {
                Debug.LogError("OpenTip Fail,Not Page Window " + this.name);
                return;
            }
#endif
            parameter.InsertParameter(autoDestroyTime, 0);
            this.ShowWindow(parameter);
            m_AllRecordViewTips.Add(this);
        }
Esempio n. 18
0
        /// <summary>
        /// 关闭当前打开的界面 自动打开上一个Page界面
        /// </summary>
        /// <param name="view"></param>
        /// <param name="parameter"></param>
        public void ClosePage(UIParameterArgs CloseParameter, UIParameterArgs openPageParameter)
        {
            if (CurOpenPage == null)
            {
                return;
            }
            if (CloseParameter == null)
            {
                Debug.LogError("parameter 不要使用null  使用默认的 UIParameterArgs.Create() 无参数方法替代");
                return;
            }
#if UNITY_EDITOR
            if (m_AllRecordViewPage.Count == 0 || m_AllRecordViewPage[m_AllRecordViewPage.Count - 1] != CurOpenPage)
            {
                Debug.LogEditorInfor("ClosePage  Fail, " + (m_AllRecordViewPage.Count == 0));
                return;
            }
#endif

            if (CurOpenPage != this)
            {
                return;                      //同时只有一个界面时候想关闭的一定是最后一个界面
            }
            //if (m_AllRecordViewPage.Count == 1)
            //{
            //    Debug.LogError("只剩下一个界面 无法关闭" + CurOpenPage.name);
            //    return;
            //}

            HideWindow(CloseParameter);
            m_AllRecordViewPage.Remove(this); //移除当前页面
            if (m_AllRecordViewPage.Count > 0)
            {
                CurOpenPage = m_AllRecordViewPage[m_AllRecordViewPage.Count - 1];
                CurOpenPage.ShowWindow(openPageParameter);
            } //在打开另一个界面时候回关闭当前界面
            else
            {
                m_AllRecordViewPage.Clear();
                ClosePageConnectView(CurOpenPage);
                CurOpenPage = null;
            } //关闭最后一个页面
        }
Esempio n. 19
0
        //private void GetWillShowConfig(UIParameterArgs parameter)
        //{
        //    object infor = null;
        //    if (parameter.ParemeterCount >= 1)
        //    {
        //        m_BottomMenuEnums.Clear();
        //        infor = parameter.GetParameterByIndex(0);
        //        if (infor == null)
        //            m_BottomMenuEnums.AddRange(m_DefaultBottomMenuEnums);
        //        else
        //            m_BottomMenuEnums.AddRange(infor as List<MainMenuEnum>);
        //    }

        //    if (parameter.ParemeterCount >= 2)
        //    {
        //        m_TopMenuEnums.Clear();
        //        infor = parameter.GetParameterByIndex(1);
        //        if (infor == null)
        //            m_TopMenuEnums.AddRange(m_DefaultTopMenuEnums);
        //        else
        //            m_TopMenuEnums.AddRange(infor as List<MainMenuEnum>);
        //    }


        //    if (parameter.ParemeterCount >= 3)
        //    {
        //        m_LeftMenuEnums.Clear();
        //        infor = parameter.GetParameterByIndex(2);
        //        if (infor == null)
        //            m_LeftMenuEnums.AddRange(m_DefaultLeftMenuEnums);
        //        else
        //            m_LeftMenuEnums.AddRange(infor as List<MainMenuEnum>);
        //    }
        //}

        /// <summary>
        /// 解析参数个数填充默认的菜单
        /// </summary>
        /// <param name="parameter"></param>
        /// <param name="dex"></param>
        /// <param name="defaultMenu"></param>
        /// <param name="willShowMenu"></param>
        private void GetWiilShowConfig(UIParameterArgs parameter, int dex, List <MainMenuEnum> defaultMenu, ref List <MainMenuEnum> willShowMenu)
        {
            willShowMenu.Clear();
            if (parameter.ParemeterCount < dex + 1)
            {
                willShowMenu.AddRange(defaultMenu);
                return;
            } //参数不足
            object infor = parameter.GetParameterByIndex(dex);

            if (infor == null)
            {
                willShowMenu.AddRange(defaultMenu);
            }
            else
            {
                willShowMenu.AddRange(infor as List <MainMenuEnum>);
            }
        }
Esempio n. 20
0
        public override void ShowWindow(UIParameterArgs parameter)
        {
#if UNITY_EDITOR
            if (parameter == null || parameter.ParemeterCount < 1)
            {
                Debug.LogError("ShowWindow  Fail,参数异常");
                return;
            }
#endif

            if (float.TryParse(parameter.GetParameterByIndex(0).ToString(), out m_AutoDestroyedTime) == false)
            {
                Debug.LogError("ShowWindow  Fail,错误的类型 " + parameter.GetParameterByIndex(0).GetType());
                m_AutoDestroyedTime = 0;
            }

            base.ShowWindow(parameter);
            AutoDestroy();
        }
Esempio n. 21
0
        public override void ShowWindow(UIParameterArgs parameter)
        {
            if (parameter != null && parameter.ParemeterCount == 0)
            {
                Debug.LogError("全屏Mske 必须传入哪个物体请求打开这个界面的参数");
                return;
            }

            base.ShowWindow(parameter);
            if (parameter == null)
            {
                AddReference(null);
            }
            else
            {
                AddReference(parameter.GetParameterByIndex(0) as Transform);
            }
            ShowDefaultView();

            OnCompleteShowWindow();
        }
Esempio n. 22
0
        /// <summary>
        /// 关闭所有关联改物体的Widget
        /// </summary>
        /// <param name="targetTrans"></param>
        public static void CloseAttachWidget(Transform targetTrans, bool isDestroyWidget, UIParameterArgs parameter)
        {
            if (m_AllWidgetView.ContainsKey(targetTrans) == false)
            {
                return;
            }
            if (parameter == null)
            {
                Debug.LogError("parameter 不要使用null  使用默认的 UIParameterArgs.Create() 无参数方法替代");
                return;
            }

            for (int dex = 0; dex < m_AllWidgetView[targetTrans].Count; ++dex)
            {
                UIParameterArgs parameter1 = UIParameterArgs.Create(isDestroyWidget);
                m_AllWidgetView[targetTrans][dex].HideWindow(Helper.Instance.MegerUIParameter(parameter1, parameter));
            }

            if (isDestroyWidget)
            {
                m_AllWidgetView[targetTrans].Clear();
            }
        }
Esempio n. 23
0
        /// <summary>
        /// 关闭打开的Widget
        /// </summary>
        /// <param name="view"></param>
        /// <param name="isDestroyWidget"></param>
        public void CloseWidget(bool isDestroyWidget, UIParameterArgs parameter)
        {
            if (m_AllWidgetView.ContainsKey(this.BelongParent) == false)
            {
                Debug.LogError("CloseWidget Fail,Not Exit " + this.name);
                return;
            }
            if (parameter == null)
            {
                Debug.LogError("parameter 不要使用null  使用默认的 UIParameterArgs.Create() 无参数方法替代");
                return;
            }
            int Index = -1;

            for (int dex = 0; dex < m_AllWidgetView[this.BelongParent].Count; ++dex)
            {
                if (m_AllWidgetView[this.BelongParent][dex] == this)
                {
                    Index = dex;
                    break;
                }
            }

            if (Index == -1)
            {
                Debug.LogError("CloseWidget Fail,Not Exit " + this.name);
                return;
            }

            UIParameterArgs parameter1 = UIParameterArgs.Create(isDestroyWidget);

            this.HideWindow(Helper.Instance.MegerUIParameter(parameter1, parameter));
            if (isDestroyWidget)
            {
                m_AllWidgetView[this.BelongParent].RemoveAt(Index);
            }
        }
Esempio n. 24
0
        //public override void FlushWindow(UIParameterArgs parameter)
        //{
        //    if (parameter != null && parameter.ParemeterCount == 0)
        //    {
        //        Debug.LogError("全屏Mske 必须传入哪个物体请求打开这个界面的参数");
        //        return;
        //    }


        //    base.FlushWindow(parameter);
        //    if (parameter == null)
        //        AddReference(null);
        //    else
        //        AddReference(parameter.GetParameterByIndex(0) as Transform);
        //    ShowDefaultView();

        //    OnCompleteFlushWindow();
        //}


        /// <summary>
        /// 需要至少三个参数  第一个参数bool 类型判断是强制关闭 //第二个参数是Transform 参数
        /// // 第三个参数为bool 类型判断是释放一次引用还是多个
        /// </summary>
        /// <param name="parameter"></param>
        public override void HideWindow(UIParameterArgs parameter)
        {
            base.HideWindow(parameter);
            if (parameter == null || parameter.ParemeterCount < 3)
            {
                Debug.LogError("全屏Mske 必须传入哪个物体请求打开这个界面的参数");
                return;
            }

            bool isForceClose = bool.Parse(parameter.GetParameterByIndex(0).ToString());

            if (isForceClose)
            {
                ReleasAllTransformReference();
            }
            else
            {
                Transform target         = parameter.GetParameterByIndex(1) as Transform;
                bool      isReleaseOnece = bool.Parse(parameter.GetParameterByIndex(2).ToString());
                if (isReleaseOnece)
                {
                    ReleaseReference(target);
                }
                else
                {
                    ReleasTransformReference(target);
                }
            }

            if (CheckIfNeedCloseView() == false)
            {
                return;
            }


            OnCompleteHideWindow();
        }
Esempio n. 25
0
 /// <summary>
 /// 打开一个弹窗界面 (默认按照优先级打开 ,如果优先级不够则不会弹出)
 /// </summary>
 /// <param name="popupOperate"></param>
 public void OpenPopUp(bool isFailRecord = true)
 {
     OpenPopUp(PopupOpenOperateEnum.PriorityOrder, UIBasePageView.CurOpenPage, isFailRecord, UIParameterArgs.Create());
 }
Esempio n. 26
0
 private void CloseBtnClick()
 {
     HideWindow(UIParameterArgs.Create());
 }
Esempio n. 27
0
 public override void ShowWindow(UIParameterArgs parameter)
 {
     base.ShowWindow(parameter);
     StartCoroutine(OnEnumerateShowWindow());
 }
Esempio n. 28
0
        private void OnStartUpBtnClick()
        {
            if (AssetUpdateMgr.Instance.IsUpdateError)
            {
                Debug.LogError("无法启动游戏  资源更新失败");
                return;
            }


            //UIManager.Instance.ForceGetUIAsync<UILoginPopupView>(Define_ResPath.UILoginPopupViewPath, UIManagerHelper.Instance.PopupParentTrans, (loginPopView) =>
            //{
            //    UIManager.Instance.OpenPopUp(loginPopView, PopupOpenOperateEnum.KeepPreviousAvailable,this, true, null);
            //}, true, true);

            UIViewReference.Instance.UiLoginPopupView.OpenPopUp(PopupOpenOperateEnum.KeepPreviousAvailable, this, true, UIParameterArgs.Create());
        }
Esempio n. 29
0
        /// <summary>
        /// 打开一个页面UI
        /// </summary>
        /// <typeparam name="T"></typeparam>
        public void OpenPage(UIParameterArgs parameter)
        {
            if (parameter == null)
            {
                Debug.LogError("parameter 不要使用null  使用默认的 UIParameterArgs.Create() 无参数方法替代");
                return;
            }

#if UNITY_EDITOR
            if (this.WindowType != WindowTypeEnum.Page)
            {
                Debug.LogError("OpenPage Fail,Not Page Window " + this.name);
                return;
            }
#endif

            if (m_AllRecordViewPage.Contains(this) == false)
            {
                #region 打开一个新的页面
                m_AllRecordViewPage.Add(this);
                ClosePageConnectView(CurOpenPage);

                //if (CurOpenPage != null)
                //{
                //    CurOpenPage.HideWindow();
                //    RemoveWillPopupView(CurOpenPage);  //关闭当前界面所包含的弹窗
                //    CloseAttachWidget(CurOpenPage.transform,false);   //关闭关联的Widget
                //}
                CurOpenPage = this;  //更新当前打开的窗口
                this.ShowWindow(parameter);
                #endregion
                return;
            }

            #region 打开一个已经打开过的页面
            Debug.Log("界面已经被打开过 则需要处理");
            if (this == CurOpenPage)
            {
                CurOpenPage.ShowWindow(parameter);
                //#region 当前要打开的界面就是最后打开的页面   则根据条件判断是否只需要刷新
                //if (CurOpenPage.IsActivate && CurOpenPage.IsShowingWindow && CurOpenPage.IsCompleteShow)
                //{
                //    Debug.Log("界面已经打开了  执行刷新操作 ");
                //    CurOpenPage.ShowWindow(parameter);
                //}
                //else
                //{
                //    Debug.LogError("当前界面状态异常 正在打开中..... " + CurOpenPage.IsShowingWindow + ":" + CurOpenPage.IsCompleteShow);
                //}
                //#endregion
                return;
            }//当前要打开的界面就是最后打开的页面   则根据条件判断是否只需要刷新

            #region  弹出已经打开过的界面 并记录当前页面
            //if (CurOpenPage != null)
            //{
            //    CurOpenPage.HideWindow();
            //    RemoveWillPopupView(CurOpenPage);  //关闭当前界面所包含的弹窗
            //    CloseAttachWidget(CurOpenPage.transform, false);   //关闭关联的Widget
            //}
            ClosePageConnectView(CurOpenPage);

            for (int dex = m_AllRecordViewPage.Count - 1; dex >= 0; --dex)
            {
                if (m_AllRecordViewPage[dex] != this)
                {
                    m_AllRecordViewPage.RemoveAt(dex);
                }
            } //弹出已经打开过的界面
            CurOpenPage = this;
            m_AllRecordViewPage.Add(this);
            this.ShowWindow(parameter);
            #endregion

            #endregion
        }
Esempio n. 30
0
 /// <summary>
 /// 关闭一个弹窗界面
 /// </summary>
 /// <param name="view"></param>
 /// <param name="closeOperate"></param>
 public void ClosePopup(PopupCloseOperateEnum closeOperate)
 {
     this.HideWindow(UIParameterArgs.Create());
     m_AllRecordViewPopup.Remove(this);
     DealHidePopView(closeOperate);
 }