直接上代码:
//创建方法一
//可以在Create菜单创建
[CreateAssetMenu]
public class TestScpritObject : ScriptableObject //继承ScpritableObject
{
public List<PlayerInfo> myPlayerInfo = new List<PlayerInfo>();
}
//创建方法二
public class MyScpeitableObjectEditor
{
[MenuItem("Assets/创建ScpritObject")]
static void CreateScpritableObject()
{
TestScpritObject data = (TestScpritObject)AssetDatabase.LoadAssetAtPath("Assets/MyTestScpriteObject.asset", typeof(TestScpritObject));
if (data == null)
{
data = ScriptableObject.CreateInstance<TestScpritObject>();
AssetDatabase.CreateAsset(data, "Assets/MyTestScpriteObject.asset");
AssetDatabase.SaveAssets();
}
}
}
//数据序列化
[System.Serializable]
public class PlayerInfo
{
//数据取消序列化
[System.NonSerialized]
public int id;
public string name;
private int age;
}