Unity 底层框架篇 (四)Unity Asset序列化
1、写一个类 继承自 ScriptableObject
2、加上[CreateAssetMenu(fileName="序列化的目标文件名不需要后缀"), menuName="在编辑器里菜单按钮的名字", order=xxx ] order表示在菜单中的位置排序
using System.Collections.Generic; using UnityEngine; // asset 想要被序列化 必须继承自 ScriptableObject 不需要加任何序列化的标签 [CreateAssetMenu(fileName = "MyTestAssets", menuName = "MyCreateAssets", order = 0)] public class MyAssetsSerializeTest : ScriptableObject { public int Id; public string Name; public List<string> TestList; }
这里需要注意: 字典是不能序列化的 需要想办法转成2个List 什么的
note: 这里的字段 都不需要加特殊特性标签


反序列化使用asset文件
void ReadTestAssets() { MyAssetsSerializeTest myAssetsSerializeTest = AssetDatabase.LoadAssetAtPath<MyAssetsSerializeTest>("Assets/MyTestAssets.asset"); Debug.Log(myAssetsSerializeTest.Id); Debug.Log(myAssetsSerializeTest.Name); }
浙公网安备 33010602011771号