using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Node : ScriptableObject {
public string Name;
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FlowNode : Node {
public string Type;
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GraphSerializationData : ScriptableObject {
public List<Node> list = new List<Node>();
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class TestSerializationTool {
[MenuItem("Assets/TestSerialization")]
static void TestSerialization() {
Debug.Log("TestSerialization");
GraphSerializationData data = ScriptableObject.CreateInstance<GraphSerializationData>();
string filePath = "Assets/testAsset.asset";
AssetDatabase.DeleteAsset(filePath);
AssetDatabase.CreateAsset(data, filePath);
AssetDatabase.Refresh();
FlowNode fn = ScriptableObject.CreateInstance<FlowNode>();
fn.Name = "lzz";
fn.Type = "123";
data.list.Add(fn);
AssetDatabase.AddObjectToAsset(fn, data);
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
}
}
上面的例子 演示 有继承关系的类都可以存储到.asset中。
可以尝试使用 : [PreferBinarySerialization]
参考:https://answers.unity.com/questions/842058/serializing-a-collection-of-scriptableobjects-to-a.html
————————————————
版权声明:本文为CSDN博主「aa20274270」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/aa20274270/article/details/82895811