unity 商业游戏底层资源管理加载框架——个人学习记录(5)

unity asset序列化:继承 ScriptableObject

字典的序列化需要注意,可以使用两个list来帮助字典序列化。

using System.Collections.Generic;
using UnityEngine;

/// 
/// 生成文件名   菜单中名字   菜单中顺序
/// 
[CreateAssetMenu(fileName ="TestAssets",menuName = "CreateAsset", order =0)]
public class AssetsSerilize : ScriptableObject
{
    public int ID;
    public string Name;
    public List GradeList;
  
}

在project面板右击create—CreateAsset就可以得到:

unity 商业游戏底层资源管理加载框架——个人学习记录(5)_第1张图片

using System.Runtime.Serialization.Formatters.Binary;

public class Test : MonoBehaviour
{
    void Start()
    {
        //SerilizeTest();
        //DeSerilizeTest();

        //BinarySerilizeTest();
        //BinaryDeserilizeTest();

        ReadTestAssets();
    }

    void ReadTestAssets()
    {
        AssetsSerilize assetsSerilize = UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/Scripts/Serilize/TestAssets.asset");

        Debug.Log("ID====" + assetsSerilize.ID);
        Debug.Log("Name====" + assetsSerilize.Name);
        foreach (int item in assetsSerilize.GradeList)
        {
            Debug.Log("Grade===" + item);
        }
    }

 

你可能感兴趣的:(学习记录)