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

本文介绍了如何在Unity中使用ScriptableObject类来创建和保存配置数据,包括创建方式、编辑器脚本的调用以及通过FindAssets方法查找并读取资产。

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

例如:

using System;
using UnityEngine;

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

}

通过鼠标右键创建后就可以填写数值了。
在这里插入图片描述

在这里插入图片描述

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

 	[MenuItem("Window/导出资源模板", false, 2052)]
    static void OutPut()
    {
        //ScriptableWizard.DisplayWizard<HotWizard>("版本号", "确定");
        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);
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Thinbug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值