示例#1
0
        protected void AddColliderMode(PanelColliderMode mode)
        {
            if (ColliderMode == mode)
            {
                return;
            }

            ColliderMode = mode;
            switch (ColliderMode)
            {
            case PanelColliderMode.None:
                break;

            case PanelColliderMode.Normal:
                GameUtility.AddColliderBgToTarget(this.gameObject, "Mask", ResourcesManager.GetAtlas("Atlas_MJ_Common"), true);
                break;

            case PanelColliderMode.WithBg:
                GameUtility.AddColliderBgToTarget(this.gameObject, "Mask", ResourcesManager.GetAtlas("Atlas_MJ_Common"), false);
                break;

            default:
                break;
            }
        }
示例#2
0
 public PanelData(PanelType type,
                  PanelColliderMode colliderMode     = PanelColliderMode.None,
                  PanelNavigationMode navigationMode = PanelNavigationMode.Navigation,
                  PanelPopupMode popupMode           = PanelPopupMode.DoNothing,
                  bool isClearNavigation             = false)
 {
     Type              = type;
     ColliderMode      = colliderMode;
     NavigationMode    = navigationMode;
     PopupMode         = popupMode;
     IsClearNavigation = isClearNavigation;
 }
示例#3
0
        /// <summary>
        /// 添加背景阻挡层
        /// </summary>
        private void AddColliderBG()
        {
            PanelColliderMode colliderMode = panelData.ColliderMode;

            if (colliderMode == PanelColliderMode.None)
            {
                return;
            }

            GameObject    bg = new GameObject("bg");
            RectTransform rt = bg.AddComponent <RectTransform>();

            rt.SetParent(transform);
            rt.SetSiblingIndex(0);
            rt.anchorMin        = Vector2.zero;
            rt.anchorMax        = Vector2.one;
            rt.pivot            = new Vector2(0.5f, 0.5f);
            rt.anchoredPosition = Vector2.zero;
            rt.sizeDelta        = Vector2.zero;

            Image  image  = bg.AddComponent <Image>();
            Button button = bg.AddComponent <Button>();

            button.onClick.AddListener(OnClickCollider);

            //透明
            if (colliderMode == PanelColliderMode.Transparent)
            {
                //BUG
                image.color = new Color(0, 0, 0, 0);
            }
            else if (colliderMode == PanelColliderMode.translucent)
            {
                image.color = new Color(0, 0, 0, 0.25f);
            }
            else if (colliderMode == PanelColliderMode.Image)
            {
                image.sprite = UIConfig.ColliderSprite;
            }
        }