需求说明
使用ScriptableObject作为配置文件时,有时实际想通过csv表格配置数据。
因此需要提供将csv数据转成ScriptableObject数据的功能。
实现
使用方法:在TestCfg面板中,_dataAsset字段处,点击右键 -> 导入数据。
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
}