1.5 KiB
1.5 KiB
GameObject::Deserialize
从一行分号分隔的 token 流恢复当前对象的基础状态。
void Deserialize(std::istream& is);
行为说明
当前实现会持续读取 token,直到遇到:
EOF- 换行
- 回车
它能识别的 key 包括:
nametagactivelayeriduuidtransform
未知 key 会被跳过,因此它对“多写了一些暂时不认识的字段”具备有限容错能力。
Tag 与 Layer 恢复语义
按当前引擎自己生成的数据格式,这可以稳定 round-trip tag 与 0..31 范围内的 layer。
当前边界
- 不会创建普通组件
- 不会恢复父子关系
- 不会设置所属
Scene - 不会触发
Awake()、Start()或创建事件 - 只恢复这一个对象的基础状态
完整场景恢复应使用 Scene::DeserializeFromString。
参数
is- 输入流。
返回值
- 无。
设计提示
这个接口更像“对象基础状态的底层反序列化原语”,而不是面向最终用户的完整场景加载入口。商业引擎里把这类低层接口和场景容器级加载分开,是为了避免单对象 API 意外承担过多树结构与资源恢复责任。