Exemple #1
0
    /// <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));
            }
        });
    }