通过接口的默认实现自动序列化与反序列化Unity中的字段
有时我们使用的类型Unity并不能自动将其序列化(比如抽象类型数组)
虽然能通过实现IAutoSerialization将其序列化 但是每次书写较为麻烦
所以写了一个接口方便完成上述内容
代码在Unity 2021.2.14f1c1测试通过
使用
实现接口 只需要实现Data属性 Data属性包装了一个Unity可以序列化的Byte数组
例如:
class Test : MonoBehaviour, IAutoSerialization
{
// 需要实现的接口
Data{
get => data; set => data = value;}
// 一个Unity可以自动序列化的Byte[]类型
[SerializeField]
[HideInInspector]
private byte[] data;
// 一个Unity无法自动序列化的类型 而且你需要将其序列化 使用CustomSerialization特性标记它
[CustomSerialization]
private AbsClass[] array;
}
代码
通过接口的默认实现 来实现将带有CustomSerialization特性的字段自动序列化与反序列化
代码会在GitGist更新CSDN代码可能会过期:
IAutoSerialization.cs
[System.AttributeUsage(System.AttributeTargets.Field)]
public class CustomSerialization : System.Attribute {
}
public interface IAutoSerialization :