コード例 #1
0
        public static T CreateUI <T>(Transform Obj, T Script, UIDescriptor Desc, params object[] Params) where T : BaseUI
        {
            Obj.name          = $"{Desc.Uri.AssetName}<{Script.ID}>";
            Obj.localRotation = Quaternion.identity;

            switch (Script.DepthMode)
            {
            case UIDepthMode.Bottom:
                Obj.SetParent(CanvasBottomTransform, false);
                break;

            case UIDepthMode.Normal:
                Obj.SetParent(CanvasNormalTransform, false);
                break;

            case UIDepthMode.Top:
                Obj.SetParent(CanvasTopTransform, false);
                break;

            default:
                break;
            }

            Script.Path            = Desc.Uri;
            Script.Cached          = Desc.Cached;
            Script.UITransform     = Obj;
            Script.UIRectTransform = Obj.GetComponent <RectTransform>();
            Script.UIRectTransform.SetSiblingIndex(Script.DepthIndex + UIDepthCount_[Script.DepthMode]);
            Script.UICanvas.sortingOrder = (int)Script.DepthMode + (Script.DepthIndex + UIDepthCount_[Script.DepthMode]) * OrderStep;

            UIDepthCount_[Script.DepthMode]++;
            UIList_.Add(Script);
            Script.Open(Params);
            EventManager.Send <OpenUIEvent>();
            return(Script);
        }
コード例 #2
0
 public static T OpenUI<T>(UIDescriptor Desc, params object[] Params) where T : BaseUI, new()
 {
     return OpenUI(new T(), Desc, Params);
 }