Bootstrap

UObject反序列化--大象无形10.1.2笔记

序列化就是存储,反序列化就是读取。

序列化和反序列化都在函数void UObject::Serialize( FArchive& Ar )里。

跟踪反序列化代码,

1,获取当前类信息

2,获取Outer,即指定了当前UObject被作为哪一个对象的子对象进行序列化。

3,判断当前等待序列化的对象的类UClass的信息是否被载入,没有的话,则

(1)预载入当前的类信息。

(2)预载入当前类的默认对象CDO的信息

4,载入名字和Outer,以及当前对象的类信息,保存于ObjClass对象中,

5,载入对象的所有脚本成员变量信息,这一步必须在类信息加载后,否则无法根据类信息获得有哪些脚本成员变量需要加载。

(a)标记脚本数据序列化开始

(b)载入脚本定义的成员变量

(c)标记脚本数据序列化结束

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;