예제 #1
0
 public UIType()
 {
     UiFormsType        = UIFormsType.Normal;
     UiFormsShowMode    = UIFormShowMode.Normal;
     UiFormsLucencyType = UIFormLucenyType.Lucency;
     IsClearStack       = false;
 }
예제 #2
0
        /// <summary>
        /// 设置遮罩状态
        /// </summary>
        /// <param UIName="goDisplayUIForms">需要显示的UI窗体</param>
        /// <param UIName="lucenyType">显示透明度属性</param>
        public void SetMaskWindow(GameObject goDisplayUIForms, UIFormLucenyType lucenyType = UIFormLucenyType.Lucency)
        {
            //顶层窗体下移
            //goTopPanel.transform.SetAsLastSibling();
            //启用遮罩窗体以及设置透明度
            switch (lucenyType)
            {
            //完全透明,不能穿透
            case UIFormLucenyType.Lucency:
                _GoMaskPanel.SetActive(true);
                Color newColor1 = new Color(UIConfig.SysUIMaskLucencyColorRGB,
                                            UIConfig.SysUIMaskLucencyColorRGB, UIConfig.SysUIMaskLucencyColorRGB,
                                            UIConfig.SysUIMaskLucencyColorRGBA);
                _GoMaskPanel.GetComponent <Image>().color = newColor1;
                break;

            //半透明,不能穿透
            case UIFormLucenyType.Translucence:
                _GoMaskPanel.SetActive(true);
                Color newColor2 = new Color(UIConfig.SysUIMaskTransLucencyColorRGB,
                                            UIConfig.SysUIMaskTransLucencyColorRGB, UIConfig.SysUIMaskTransLucencyColorRGB,
                                            UIConfig.SysUIMaskTransLucencyColorRGBA);
                _GoMaskPanel.GetComponent <Image>().color = newColor2;
                break;

            //低透明,不能穿透
            case UIFormLucenyType.ImPenetrable:
                _GoMaskPanel.SetActive(true);
                Color newColor3 = new Color(UIConfig.SysUIMaskImpenetrableColorRGB,
                                            UIConfig.SysUIMaskImpenetrableColorRGB, UIConfig.SysUIMaskImpenetrableColorRGB,
                                            UIConfig.SysUIMaskImpenetrableColorRGBA);
                _GoMaskPanel.GetComponent <Image>().color = newColor3;
                break;

            //可以穿透
            case UIFormLucenyType.Pentrate:
                if (_GoMaskPanel.activeInHierarchy)
                {
                    _GoMaskPanel.SetActive(false);
                }

                break;

            default:
                break;
            }

            //遮罩窗体下移
            _GoMaskPanel.transform.SetAsLastSibling();
            //显示窗体的下移
            goDisplayUIForms.transform.SetAsLastSibling();
            //增加当前UI摄像机的层深(保证当前摄像机为最前显示)
            if (_UICamera != null)
            {
                _UICamera.depth = _UICamera.depth + 100; //增加层深
            }
        }
예제 #3
0
        /// <summary>
        /// 设置遮罩状态
        /// </summary>
        /// <param name="goDisplayUIForms">需要显示的UI窗体</param>
        /// <param name="lucenyType">显示透明度属性</param>
        public void SetMaskWindow(GameObject goDisplayUIForms, UIFormLucenyType lucenyType = UIFormLucenyType.Lucency)
        {
            //顶层窗体下移
            _GoTopPanel.transform.SetAsLastSibling();
            //启用遮罩窗体以及设置透明度
            switch (lucenyType)
            {
            //完全透明,不能穿透
            case UIFormLucenyType.Lucency:
                print("完全透明");
                _GoMaskPanel.SetActive(true);
                Color newColor1 = new Color(255 / 255F, 255 / 255F, 255 / 255F, 0F / 255F);
                _GoMaskPanel.GetComponent <Image>().color = newColor1;
                break;

            //半透明,不能穿透
            case UIFormLucenyType.Translucence:
                print("半透明");
                _GoMaskPanel.SetActive(true);
                Color newColor2 = new Color(220 / 255F, 220 / 255F, 220 / 255F, 50 / 255F);
                _GoMaskPanel.GetComponent <Image>().color = newColor2;
                break;

            //低透明,不能穿透
            case UIFormLucenyType.ImPenetrable:
                print("低透明");
                _GoMaskPanel.SetActive(true);
                Color newColor3 = new Color(50 / 255F, 50 / 255F, 50 / 255F, 200F / 255F);
                _GoMaskPanel.GetComponent <Image>().color = newColor3;
                break;

            //可以穿透
            case UIFormLucenyType.Pentrate:
                print("允许穿透");
                if (_GoMaskPanel.activeInHierarchy)
                {
                    _GoMaskPanel.SetActive(false);
                }
                break;

            default:
                break;
            }

            //遮罩窗体下移
            _GoMaskPanel.transform.SetAsLastSibling();
            //显示窗体的下移
            goDisplayUIForms.transform.SetAsLastSibling();
            //增加当前UI摄像机的层深(保证当前摄像机为最前显示)
            if (_UICamera != null)
            {
                _UICamera.depth = _UICamera.depth + 100;    //增加层深
            }
        }
예제 #4
0
        /// <summary>
        /// 设置遮罩状态
        /// </summary>
        /// <param name="goDisplayPanel"></param>
        /// <param name="lucenyType"></param>
        public void SetMaskWindow(GameObject goDisplayPanel, UIFormLucenyType lucenyType = UIFormLucenyType.Lucency)
        {
            //顶层窗体下移
            m_TopPanel.transform.SetAsLastSibling();
            //启用遮罩窗体以及设置透明度
            switch (lucenyType)
            {
            //完全透明,不能穿透
            case UIFormLucenyType.Lucency:
                m_MaskPanel.SetActive(true);
                Color newColor1 = new Color(UIConst.UIMASK_LUCENCY_COLOR_RGB, UIConst.UIMASK_LUCENCY_COLOR_RGB, UIConst.UIMASK_LUCENCY_COLOR_RGB, UIConst.UIMASK_LUCENCY_COLOR_RGB_A);
                m_MaskPanel.GetComponent <Image>().color = newColor1;
                break;

            //半透明,不能穿透
            case UIFormLucenyType.Translucence:
                m_MaskPanel.SetActive(true);
                Color newColor2 = new Color(UIConst.UIMASK_TRANS_LUCENCY_COLOR_RGB, UIConst.UIMASK_TRANS_LUCENCY_COLOR_RGB, UIConst.UIMASK_TRANS_LUCENCY_COLOR_RGB, UIConst.UIMASK_TRANS_LUCENCY_COLOR_RGB_A);
                m_MaskPanel.GetComponent <Image>().color = newColor2;
                break;

            //低透明,不能穿透
            case UIFormLucenyType.ImPenetrable:
                m_MaskPanel.SetActive(true);
                Color newColor3 = new Color(UIConst.UIMASK_IMPENETRABLE_COLOR_RGB, UIConst.UIMASK_IMPENETRABLE_COLOR_RGB, UIConst.UIMASK_IMPENETRABLE_COLOR_RGB, UIConst.UIMASK_IMPENETRABLE_COLOR_RGB_A);
                m_MaskPanel.GetComponent <Image>().color = newColor3;
                break;

            //可以穿透
            case UIFormLucenyType.Pentrate:
                if (m_MaskPanel.activeInHierarchy)
                {
                    m_MaskPanel.SetActive(false);
                }
                break;

            default:
                break;
            }

            //遮罩窗体下移
            m_MaskPanel.transform.SetAsLastSibling();
            //显示窗体的下移
            goDisplayPanel.transform.SetAsLastSibling();
            //增加当前UI摄像机的层深(保证当前摄像机为最前显示)
            if (m_UICamera != null)
            {
                m_UICamera.depth = m_UICamera.depth + 100;    //增加层深
            }
        }
예제 #5
0
        /// <summary>
        /// 设置遮罩状态
        /// </summary>
        /// <param name="goDisplayUIForm">需要显示的UI窗体</param>
        /// <param name="lucenyType">显示窗体透明度属性</param>
        public void SetMaskForm(GameObject goDisplayUIForm, UIFormLucenyType lucenyType = UIFormLucenyType.Lucency)
        {
            // 顶层窗体下移(UGUI特性,面板中最下面,现在越前面)
            _GoTopPanel.transform.SetAsLastSibling(); // 方法:下移到是本层次中的最后
            // 启用遮罩窗体以及设置透明度
            switch (lucenyType)
            {
            // 完全透明,不能穿透
            case UIFormLucenyType.Lucency:
                _GoMaskPanel.SetActive(true);
                Color newColor1 = new Color(SysDefine.SYS_UIMASK_LUCENCY_COLOR_RGB, SysDefine.SYS_UIMASK_LUCENCY_COLOR_RGB, SysDefine.SYS_UIMASK_LUCENCY_COLOR_RGB, SysDefine.SYS_UIMASK_LUCENCY_COLOR_RGB_A);
                _GoMaskPanel.GetComponent <Image>().color = newColor1;
                break;

            // 半透明,不能穿透
            case UIFormLucenyType.Translucence:
                _GoMaskPanel.SetActive(true);
                Color newColor2 = new Color(SysDefine.SYS_UIMASK_TRANS_LUCENCY_COLOR_RGB, SysDefine.SYS_UIMASK_TRANS_LUCENCY_COLOR_RGB, SysDefine.SYS_UIMASK_TRANS_LUCENCY_COLOR_RGB, SysDefine.SYS_UIMASK_TRANS_LUCENCY_COLOR_RGB_A);
                _GoMaskPanel.GetComponent <Image>().color = newColor2;
                break;

            // 低透明,不能穿透
            case UIFormLucenyType.ImPenetrable:
                _GoMaskPanel.SetActive(true);
                Color newColor3 = new Color(SysDefine.SYS_UIMASK_IMPENETRABLE_COLOR_RGB, SysDefine.SYS_UIMASK_IMPENETRABLE_COLOR_RGB, SysDefine.SYS_UIMASK_IMPENETRABLE_COLOR_RGB, SysDefine.SYS_UIMASK_IMPENETRABLE_COLOR_RGB_A);
                _GoMaskPanel.GetComponent <Image>().color = newColor3;
                break;

            // 完全透明,可以穿透
            case UIFormLucenyType.Pentrate:
                if (_GoMaskPanel.activeInHierarchy)
                {
                    _GoMaskPanel.SetActive(false);
                }
                break;

            default:
                break;
            }
            // 遮罩窗体下移(UGUI特性,面板中最下面,现在越前面)
            _GoMaskPanel.transform.SetAsLastSibling();
            // 需要显示的窗体下移
            goDisplayUIForm.transform.SetAsLastSibling();
            // 增加当前UI摄像机的层深(保证当前摄像机为最前显示)
            if (_UICamera != null)
            {
                _UICamera.depth = _OriginalUICameraDepth + SysDefine.SYS_UICAMERA_DEPTH;
            }
        }
예제 #6
0
        /// <summary>
        /// 公共方法:设置遮罩状态
        /// </summary>
        /// <param name="goDisplayUIForm">需要显示的UI窗体</param>
        /// <param name="lucenyType">显示透明度属性</param>
        public void SetMaskWindow(GameObject goDisplayUIForm, UIFormLucenyType lucenyType = UIFormLucenyType.Pentrate)
        {
            //顶层窗体下移
            _GoTopPanel.transform.SetAsLastSibling();
            //按照透明度类型,启用遮罩窗体,并设置透明度
            //TODO
            switch (lucenyType)
            {
            //TODO为什么不弄个颜色库?
            case UIFormLucenyType.Lucency:
                _GoUIMaskPanel.SetActive(true);
                _GoUIMaskPanel.GetComponent <Image>().color = new Color(
                    SysDefine.UIMASK_LucencyColor_RGB, SysDefine.UIMASK_LucencyColor_RGB, SysDefine.UIMASK_LucencyColor_RGB, SysDefine.UIMASK_LucencyColor_A
                    );
                break;

            case UIFormLucenyType.Translucency:
                _GoUIMaskPanel.SetActive(true);
                _GoUIMaskPanel.GetComponent <Image>().color = new Color(
                    SysDefine.UIMASK_TranslucencyColor_RGB, SysDefine.UIMASK_TranslucencyColor_RGB, SysDefine.UIMASK_TranslucencyColor_RGB, SysDefine.UIMASK_TranslucencyColor_A
                    );
                break;

            case UIFormLucenyType.Impenetrable:
                _GoUIMaskPanel.SetActive(true);
                _GoUIMaskPanel.GetComponent <Image>().color = new Color(
                    SysDefine.UIMASK_ImpenetrableColor_RGB, SysDefine.UIMASK_ImpenetrableColor_RGB, SysDefine.UIMASK_ImpenetrableColor_RGB, SysDefine.UIMASK_ImpenetrableColor_A
                    );
                break;

            case UIFormLucenyType.Pentrate:
                if (_GoUIMaskPanel.activeInHierarchy)
                {
                    _GoUIMaskPanel.SetActive(false);
                }
                break;
            }

            //遮罩窗体下移
            _GoUIMaskPanel.transform.SetAsLastSibling();
            //显示窗体下移
            goDisplayUIForm.transform.SetAsLastSibling();
            //增加当前UI摄像机的层深,保证当前摄像机为最前显示
            if (_UICamera != null)
            {
                _UICamera.depth += SysDefine.ADD_UICameraDepth;
            }
        }
예제 #7
0
        /// <summary>
        /// 取消遮罩状态
        /// </summary>
        public void CancelMaskWindow(UIFormLucenyType lucenyType)
        {
            //顶层窗体上移
            _GoTopPanel.transform.SetAsFirstSibling();
            //禁用遮罩窗体
            if (_GoMaskPanel.activeInHierarchy && lucenyType != UIFormLucenyType.Pentrate)
            {
                //隐藏
                _GoMaskPanel.SetActive(false);
            }

            //恢复当前UI摄像机的层深
            if (_UICamera != null)
            {
                _UICamera.depth = _OriginalUICameralDepth;  //恢复层深
            }
        }
예제 #8
0
        /// <summary>
        /// 设置遮罩状态
        /// </summary>
        /// <param name="ActiveUI">需要显示的UI窗体</param>
        /// <param name="type"></param>
        public void SetMaskWnd(Transform activeUI, UIFormLucenyType type = UIFormLucenyType.Lucency)
        {
            //顶层窗体下移 防止多个canvas遮挡
            TopPanle.SetAsLastSibling();
            //启用遮罩窗体以及设置透明度
            float alpha = 0;

            switch (type)
            {
            case UIFormLucenyType.Lucency:
                MaskPanle.gameObject.SetActive(true);
                alpha = SysDefine.lucency;
                break;

            case UIFormLucenyType.Translucence:
                MaskPanle.gameObject.SetActive(true);
                alpha = SysDefine.translucence;
                break;

            case UIFormLucenyType.ImPenetrable:
                MaskPanle.gameObject.SetActive(true);
                alpha = SysDefine.imPenetrable;
                break;

            case UIFormLucenyType.Pentrate:
                if (MaskPanle.gameObject.activeInHierarchy)
                {
                    MaskPanle.gameObject.SetActive(false);
                }
                break;
            }
            MaskPanle.GetComponent <Image>().color = new Color(1, 1, 1, alpha);

            //遮罩窗体下移
            TopPanle.SetAsLastSibling();
            //显示窗体的下移
            activeUI.SetAsLastSibling();
            //增加当前UI摄像机层深(保证当前摄像机为最前显示)
            if (UICamera != null)
            {
                OriginalUICameraDepth = UICamera.depth + 100;
            }
        }
예제 #9
0
    /// <summary>
    /// 设置遮罩状态
    /// </summary>
    /// <param name="uiForm">显示UI</param>
    /// <param name="lucenyType">透明度属性</param>
    public void SetMaskWindow(GameObject uiForm, UIFormLucenyType lucenyType = UIFormLucenyType.Lucency)
    {
        //顶层窗口下移
        _GoTopPanel.transform.SetAsLastSibling();
        //启用这招窗体以及设置透明度
        _GoMaskPanel.SetActive(true);
        switch (lucenyType)
        {
        //完全透明 不能穿透
        case UIFormLucenyType.Lucency:
            Color newColor = new Color(255 / 255f, 255 / 255f, 255 / 255f, 0);
            _GoMaskPanel.GetComponent <Image>().color = newColor;
            break;

        //低透明 不能穿透
        case UIFormLucenyType.ImPenetrable:
            Color newColor2 = new Color(50 / 255f, 50 / 255f, 50 / 255f, 200 / 255f);
            _GoMaskPanel.GetComponent <Image>().color = newColor2;
            break;

        //穿透
        case UIFormLucenyType.Pentrate:
            _GoMaskPanel.SetActive(false);
            break;

        //半透明 不能穿透
        case UIFormLucenyType.Translucence:
            Color newColor3 = new Color(220 / 255f, 220 / 255f, 220 / 255f, 50 / 255f);
            _GoMaskPanel.GetComponent <Image>().color = newColor3;
            break;

        default:
            break;
        }
        //遮罩窗体下移
        _GoMaskPanel.transform.SetAsLastSibling();
        //显示窗口下移
        uiForm.transform.SetAsLastSibling();
        //增加UI相机层
        _UICamera.depth = _UICamera.depth + 100;
    }