php中做购物网站的教程,企业logo设计的建议,徐州手机网站开发公司,申请网站域名多少钱以前说到的#xff0c;有很大的限制#xff0c;只能解析简单的类#xff0c;如果复杂的就会有问题#xff0c;从老外哪里看到一片博客#xff0c;是将类中的list 等复杂对象序列化#xff0c; using UnityEngine;
using System.Collections;
using System.Collections.…以前说到的有很大的限制只能解析简单的类如果复杂的就会有问题从老外哪里看到一片博客是将类中的list 等复杂对象序列化 using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;// ListT
[Serializable]
public class SerializationT
{[SerializeField]ListT target;public ListT ToList() { return target; }public Serialization(ListT target){this.target target;}
}// DictionaryTKey, TValue
[Serializable]
public class SerializationTKey, TValue : ISerializationCallbackReceiver
{[SerializeField]ListTKey keys;[SerializeField]ListTValue values;DictionaryTKey, TValue target;public DictionaryTKey, TValue ToDictionary() { return target; }public Serialization(DictionaryTKey, TValue target){this.target target;}public void OnBeforeSerialize(){keys new ListTKey(target.Keys);values new ListTValue(target.Values);}public void OnAfterDeserialize(){var count Math.Min(keys.Count, values.Count);target new DictionaryTKey, TValue(count);for (var i 0; i count; i){target.Add(keys[i], values[i]);}}
}// BitArray
[Serializable]
public class SerializationBitArray : ISerializationCallbackReceiver
{[SerializeField]string flags;BitArray target;public BitArray ToBitArray() { return target; }public SerializationBitArray(BitArray target){this.target target;}public void OnBeforeSerialize(){var ss new System.Text.StringBuilder(target.Length);for (var i 0; i target.Length; i){ss.Insert(0, target[i] ? 1 : 0);}flags ss.ToString();}public void OnAfterDeserialize(){target new BitArray(flags.Length);for (var i 0; i flags.Length; i){target.Set(flags.Length - i - 1, flags[i] 1);}}
} 转载于:https://www.cnblogs.com/lzy575566/p/7753874.html