[Serializable] public class UIPanelInfo : ISerializationCallbackReceiver{ public UIPanelType panelType; public string panelTypeString; public string path; public void OnBeforeSerialize(){ //序列化前调用 } public void OnAfterDeserialize(){ //反序列化之后调用 UIPanelType type = (UIPanelType) System.Enum.Parse (typeof(UIPanelType), panelTypeString); panelType = type; } }
实现接口ISerializationCallbackReceiver,与两个方法
OnBeforeSerialize() 序列化之前调用,可以将要序列化的数据进一步处理后再序列化,如加密
OnAfterDeserialize() 反序列化之后调用,可以将反序列化的数据(对象的数据)进一步处理,如解密