在Unity中制作配置文件通过ScriptableObject来保存数据

有时需要在Unity写一个配置保存数据,可以使用ScriptableObject类来实现。

例如:

using System;
using UnityEngine;

[CreateAssetMenu]
public class IDXData : ScriptableObject
{
    public int idx;
    public int ver;

}

通过鼠标右键创建后就可以填写数值了。
在Unity中制作配置文件通过ScriptableObject来保存数据_第1张图片

在Unity中制作配置文件通过ScriptableObject来保存数据_第2张图片

如果要读取可以通过LoadAssetAtPath这样来使用
我们创建一个编辑器脚本,加一个菜单调用。

 	[MenuItem("Window/导出资源模板", false, 2052)]
    static void OutPut()
    {
        //ScriptableWizard.DisplayWizard("版本号", "确定");
        string resdir = "Assets/Res/model/";
        
        DirectoryInfo TheFolder = new DirectoryInfo(resdir);
        foreach (DirectoryInfo NextFolder in TheFolder.GetDirectories())
        {
            string path = resdir + NextFolder.Name + "/" + "info.asset";
            IDXData d = AssetDatabase.LoadAssetAtPath<IDXData>(path);
            Debug.Log(path+" - " + d.idx +" : "+ d.ver);
        }
    }

查找这个文件可以

			string[] path = UnityEditor.AssetDatabase.FindAssets("info");
            string pname = "";
            if (path.Length > 0)
            {
                UnityEngine.Debug.Log("有文件");
                pname = AssetDatabase.GUIDToAssetPath(path[0]);
                IDXData d = AssetDatabase.LoadAssetAtPath<IDXData>(pname);
            }

你可能感兴趣的:(Unity,unity,c#)