Пример #1
0
 public static ResourcesMgr GetInstance()
 {
     if (_Instance == null)
     {
         _Instance = new GameObject("_ResourceMgr").AddComponent <ResourcesMgr>();
     }
     return(_Instance);
 }
Пример #2
0
        //加载指定名称的“UI窗体”
        //功能:
        //  1.根据“UI窗体名称”,加载预设克隆体。
        //  2.根据不同预设克隆体中带的脚本中不同的“位置信息”,加载到“跟窗体”下不同的节点
        //  3.隐藏刚创建的UI克隆体
        //  4.把克隆体加入到“所有UI窗体”缓存集合中
        private BaseUIForm LoadUIForm(string uiFormName)
        {
            string     strUIFormPath    = null;     //UI窗体路径
            GameObject goCloneUIPrefabs = null;     //创建的UI克隆体预设
            BaseUIForm baseUIForm       = null;     //窗体基类

            //根据UI窗体名称,得到对应的加载路径
            _DicFormsPaths.TryGetValue(uiFormName, out strUIFormPath);
            //根据UI窗体名称,加载预设克隆体
            if (!string.IsNullOrEmpty(strUIFormPath))
            {
                goCloneUIPrefabs = ResourcesMgr.GetInstance().LoadAsset(strUIFormPath, false);
                //goCloneUIPrefabs = Resources.Load<GameObject>(strUIFormPath);
            }
            //设置“UI克隆体”的父节点(根据克隆体中带的脚本不同的“位置信息”)
            if (_TraCanvasTransform != null && goCloneUIPrefabs != null)
            {
                baseUIForm = goCloneUIPrefabs.GetComponent <BaseUIForm>();
                if (baseUIForm == null)
                {
                    Debug.Log("baseUIForm == null,请先确认窗体预设对象上是否加载了baseUIForm的子类脚本。Parma uiFormName = " + uiFormName);
                    return(null);
                }
                switch (baseUIForm.CurrentUIType.UIForms_Type)
                {
                case UIFormType.Normal:     //普通窗体节点
                    goCloneUIPrefabs.transform.SetParent(_TraNormal, false);
                    break;

                case UIFormType.Fixed:      //固定窗体节点
                    goCloneUIPrefabs.transform.SetParent(_TraFixed, false);
                    break;

                case UIFormType.PopUp:      //弹出窗体节点
                    goCloneUIPrefabs.transform.SetParent(_TraPopUp, false);
                    break;

                default:
                    break;
                }
                //设置隐藏
                goCloneUIPrefabs.SetActive(false);
                //把克隆体加入到“所有UI窗体”(缓存)集合中
                _DicALLUIForms.Add(uiFormName, baseUIForm);
                return(baseUIForm);
            }
            else
            {
                Debug.Log("_TraCanvasTransfor == null Or goCloneUIPrefabs == null ::Param uiFormName = " + uiFormName);
            }
            Debug.Log("unknow error ::Param uiFormName = " + uiFormName);
            return(null);
        }
Пример #3
0
 //初始化加载(根UI窗体)Canvas预设
 private void InitRootCanvasLoading()
 {
     ResourcesMgr.GetInstance().LoadAsset(UIFormDefine.SYS_PATH_CANVAS, false);
     //Resources.Load(UIFormDefine.SYS_TAG_CANVAS);
 }