Unity通用类-----读取Resources配置文件

读取Resources配置文件

相比Resources.Load方法只能死板的在根目录中寻找,不利于我们对资源的整合

本方法更适合于适用于资源整合而搜索资源,可以直接从配置文件中找到响应路径,直接返回资源路径,从而找到资源物体。

using System.IO;
using System.Collections.Generic;
using UnityEngine;
///
///读取unity默认资源文件(Resources)
///Res.txt文本存储信息
///
public class ResourcesManager : MonoBehaviour
{
     
    private static Dictionary<string, string> dic = 
        new Dictionary<string, string>();
    //把资源配置文件中的信息 读取到 字典中
    static ResourcesManager()
    {
      TxtLoadDic();}
    
    private static void TxtLoadDic()
    {
     
        //1 加载 文本资源【资源配置文件】
        string mapText = Resources.Load<TextAsset>("Res").text;
        string line = null;
        //2 对文本逐行读取 放到字典中
        using (StringReader reader = new StringReader(mapText))
        {
     
            while ((line = reader.ReadLine()) != null)
            {
     
                //3 对每一行进行处理:用“=”拆分为两段
                var keyValue = line.Split('=');
                //4 前一段为key,后一段为value
                dic.Add(keyValue[0], keyValue[1]);
            }
        }
    }
    //通过资源名取得资源路径  
    private static string GetValue(string key)
    {
     
        if (dic.ContainsKey(key)) 
            return dic[key];
        return null;
    }
    //【启动》读资源配置文件》根据资源名找到资源实际位置》动态加载】
    public static T Load<T>(string path)
    	where T : Object
    {
     return Resources.Load<T>(GetValue(path));}
}

你可能感兴趣的:(unity工具类)