Пример #1
0
        /// 初始化
        public void Initialize()
        {
            if (_isInitialized)
            {
                return;
            }
            //记录默认显示的优先级
            _defaultShowPriority = ShowPriority;
            _isInitialized       = true;
            //初始化UI组件
            UIComponent[] ccs   = new UIComponent[100];
            int           ccCnt = 0;

            UIUtility.GetComponentsInChildren <UIComponent>(gameObject, ccs, ref ccCnt);
            if (ccs != null && ccCnt > 0)
            {
                if (_uiComponents == null)
                {
                    _uiComponents = new JWObjList <UIComponent>();
                }
                for (int i = 0; i < ccCnt; i++)
                {
                    ccs[i].Initialize(this);
                    //Cache
                    _uiComponents.Add(ccs[i]);
                }
            }
        }
Пример #2
0
        /// 返回计算得到的sortingOrder
        private int CalculateSortingOrder(UIFormPriority priority, int openOrder)
        {
            if (openOrder * Const_OpenOrderMask >= Const_PriorityOrderMask)
            {
                openOrder %= (Const_PriorityOrderMask / Const_OpenOrderMask);
            }

            return((IsOverlay() ? Const_OverlayOrderMask : 0) + ((int)priority * Const_PriorityOrderMask) + (openOrder * Const_OpenOrderMask));
        }
Пример #3
0
 //置优先级
 public void SetPriority(UIFormPriority priority)
 {
     if (ShowPriority == priority)
     {
         return;
     }
     ShowPriority = priority;
     //这里需要即时修改sortingOrder
     SetDisplayOrder(_openOrder);
     //派发事件
     DispatchFormEvent(UIFormEventType.PriorityChanged);
 }