Exemple #1
0
        /// <summary>
        /// UI窗体入栈
        /// </summary>
        /// <param name="uiFormName">窗体的名称</param>
        private void PushUIFormToStack(string uiFormName)
        {
            BaseUIForm baseUIForm;                          //UI窗体

            //判断“栈”集合中,是否有其他的窗体,有则“冻结”处理。
            if (_StaCurrentUIForms.Count > 0)
            {
                BaseUIForm topUIForm = _StaCurrentUIForms.Peek();
                //栈顶元素作冻结处理
                topUIForm.Freeze();
            }
            //判断“UI所有窗体”集合是否有指定的UI窗体,有则处理。
            _DicALLUIForms.TryGetValue(uiFormName, out baseUIForm);
            if (baseUIForm != null)
            {
                //当前窗口显示状态
                baseUIForm.Display();
                //把指定的UI窗体,入栈操作。
                _StaCurrentUIForms.Push(baseUIForm);
            }
            else
            {
                Debug.Log("baseUIForm==null,Please Check, 参数 uiFormName=" + uiFormName);
            }
        }
Exemple #2
0
        /// <summary>
        /// UI窗体入栈
        /// </summary>
        /// <param name="uiFormName">窗体名称</param>
        private void PushUIFormToStack(string uiFormName)
        {
            BaseUIForm baseUIForm;

            if (_StaCurrentUIForms.Count > 0)
            {
                BaseUIForm topUIForm = _StaCurrentUIForms.Peek();
                topUIForm.Freeze();
            }
            _DicAllUIForms.TryGetValue(uiFormName, out baseUIForm);
            if (baseUIForm != null)
            {
                baseUIForm.Display();
                _StaCurrentUIForms.Push(baseUIForm);
            }
            else
            {
                Debug.Log("baseUIForm == null");
            }
        }
        /// <summary>
        /// 反向切换类型的窗体的进入
        /// (UI窗体的入栈,显示指定名称的窗体)
        /// </summary>
        /// <param name="uiFormName">窗体的名称</param>
        private void PushUIForm(string uiFormName)
        {
            BaseUIForm baseUIForm;                      //UI窗体

            //判断栈集合中,是否有其他的窗体,有则进行冻结处理
            if (_StaCurrentUIForms.Count > 0)
            {
                BaseUIForm topUIForm = _StaCurrentUIForms.Peek();
                topUIForm.Freeze();
            }
            //判断“所有UI窗体”集合是否有指定的UI窗体,有则处理
            _DicAllUIForms.TryGetValue(uiFormName, out baseUIForm);
            if (baseUIForm == null)
            {
                return;
            }

            //把指定的UI窗体入栈
            _StaCurrentUIForms.Push(baseUIForm);
            //显示窗体
            baseUIForm.Display();
        }
Exemple #4
0
        /// <summary>
        /// UI窗体入栈
        /// </summary>
        /// <param name="窗体名字"></param>
        private void PushUIFormToStack(string uiFormName)
        {
            BaseUIForm currentUIForm;

            //判断栈集合中 是否有其他窗体 如果有 冻结处理
            if (_StaCurrentUIForm.Count > 0)
            {
                BaseUIForm topUIForm = _StaCurrentUIForm.Peek();
                topUIForm.Freeze();
            }
            //判断UI所有窗体 是否有指定UI 有则处理 没有报错
            _DicALLUIForms.TryGetValue(uiFormName, out currentUIForm);
            if (currentUIForm != null)
            {
                currentUIForm.Display();
                //入栈
                _StaCurrentUIForm.Push(currentUIForm);
            }
            else
            {
                Debug.LogError("UI 加载错误");
            }
        }