Unity中,使用csv配置ScriptableObject

需求说明

使用ScriptableObject作为配置文件时,有时实际想通过csv表格配置数据。
因此需要提供将csv数据转成ScriptableObject数据的功能。

实现

使用方法:在TestCfg面板中,_dataAsset字段处,点击右键 -> 导入数据。


image.png
using UnityEngine;

[CreateAssetMenu(fileName = "TestCfg", menuName = "Cfg/TestCfg", order = 0)]
public class TestCfg : ScriptableObject
{
    [SerializeField]
    private 数据 _data;
    public 数据 Data => _data;

#if UNITY_EDITOR
    [SerializeField, ContextMenuItem("导入数据", nameof(SetData))]
    private TextAsset _dataAsset;
    private void SetData()
    {
        // todo: 将_dataAsset转成实际数据,存入_data中

        // 保存
        UnityEditor.EditorUtility.SetDirty(this);
        UnityEditor.AssetDatabase.SaveAssets();
    }
#endif
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容