1.引入:思考 Instantiate如何实现
Unity中如何真正去克隆一个游戏对象(即如何深拷贝一个游戏对象)
2.序列化和反序列化
思考序列化和反序列化的过程:可以通过序列化将一个对象保存为一个二进制文件以永久保存。同时,还可以将二进制文件反序列化成为一个和被反序列化的对象一样的新的游戏对象。(序列化和反序列化也是深拷贝对象的一种实现方法)。
public static object Instantiate(Object orginal);
Instantiate实现机制便是对象的序列化和反序列化:
先将参数origin所引用的游戏对象序列化,得到了经过序列化之后的序列化流后,再使用反序列化机制将这个序列化流反序列化生成一个新的游戏对象。
3.序列化与反序列化的过程
FormatterSevervice类
序列化
序列化第一步
获取对象的成员类型信息