public static ResourcesMgr GetInstance() { if (_Instance == null) { _Instance = new GameObject("_ResourceMgr").AddComponent <ResourcesMgr>(); } return(_Instance); }
//加载指定名称的“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); }
//初始化加载(根UI窗体)Canvas预设 private void InitRootCanvasLoading() { ResourcesMgr.GetInstance().LoadAsset(UIFormDefine.SYS_PATH_CANVAS, false); //Resources.Load(UIFormDefine.SYS_TAG_CANVAS); }