/// <summary> /// 初始化资源工厂 /// </summary> public void InitFactory() { spritesFactory = new ResFactory <Sprite>(); spritesFactoryList = new ResFactory <Sprite[]>(); spritesFactory.InitFactory( (resName) => { if (spritesFactory.resDic.ContainsKey(resName)) { return(spritesFactory.resDic[resName]); } else { // return Resources.Load<Sprite>(spritesResPath + resName); return(ResourceTool.LoadRes <Sprite>(resName)); } } ); spritesFactoryList.InitFactory( (folderName) => { if (spritesFactoryList.resDic.ContainsKey(folderName)) { return(spritesFactoryList.resDic[folderName]); } else { return(Resources.LoadAll <Sprite>(spritesResPath + folderName)); } }); prefabsFactory = new ResFactory <GameObject>(); prefabsFactoryList = new ResFactory <GameObject[]>(); prefabsFactory.InitFactory( (resName) => { if (prefabsFactory.resDic.ContainsKey(resName)) { return(prefabsFactory.resDic[resName]); } else { //return Resources.Load<GameObject>(prefabsResPath + resName); return(ResourceTool.LoadRes <GameObject>(resName)); } } ); prefabsFactoryList.InitFactory( (folderName) => { if (prefabsFactoryList.resDic.ContainsKey(folderName)) { return(prefabsFactoryList.resDic[folderName]); } else { return(Resources.LoadAll <GameObject>(prefabsResPath + folderName)); } }); audioClipFactory = new ResFactory <AudioClip>(); audioClipFactoryList = new ResFactory <AudioClip[]>(); audioClipFactory.InitFactory( (resName) => { if (audioClipFactory.resDic.ContainsKey(resName)) { return(audioClipFactory.resDic[resName]); } else { // return Resources.Load<AudioClip>(audioclipResPath + resName); return(ResourceTool.LoadRes <AudioClip>(resName)); } } ); audioClipFactoryList.InitFactory( (folderName) => { if (audioClipFactoryList.resDic.ContainsKey(folderName)) { return(audioClipFactoryList.resDic[folderName]); } else { return(Resources.LoadAll <AudioClip>(audioclipResPath + folderName)); } }); textAssetFactory = new ResFactory <TextAsset>(); textAssetFactory.InitFactory( (resName) => { if (audioClipFactoryList.resDic.ContainsKey(resName)) { return(textAssetFactory.resDic[resName]); } else { return(ResourceTool.LoadRes <TextAsset>(resName)); } }); }