Unity中类对象存储为.asset以及相应读取

unity中将某个类的对象存储为一个asset对象,以及需要时的加载。

创建一个类继承自ScriptableObject,使得该对象可序列化存储

public class Agent:ScriptableObject
{
    public string name;
}

将Agent类对象存储下来

void SaveAgentInfo()//将对象信息以.asset的形式存在Resource文件下
{
        Agent agent = ScriptableObject.CreateInstance();//创建可序列化对象
        agent.name = "小明他大爷";
        string path = "Assets/Resources/agent.asset";
        UnityEditor.AssetDatabase.CreateAsset(agent,path);
        UnityEditor.AssetDatabase.SaveAssets();
        UnityEditor.AssetDatabase.Refresh();
}

从Resources文件夹中加载上面存储的.asset

Agent LoadAgentInfo()
{
        string path = "Agents/agent";
        Agent agent = Resources.Load(path);
        return agent;
}

 

你可能感兴趣的:(unity)