1.8 KiB
1.8 KiB
ScriptFieldStorage
命名空间: XCEngine::Scripting
类型: class
头文件: XCEngine/Scripting/ScriptFieldStorage.h
描述: 以字段名为键保存脚本字段值的本地缓存容器。
概览
ScriptFieldStorage 是当前脚本系统的数据缓冲层。它保存的不是“任意运行时变量”,而是需要在原生侧被识别、查询、序列化和可能回写的一组字段。
设计要点
- 用字段名映射到
StoredScriptField,读写简单直接。 - 用模板
SetFieldValue/TryGetFieldValue提供方便访问,同时保留显式类型版本。 GetFieldNames()始终返回排序后的名字,保证序列化稳定性。- 反序列化会先清空旧数据,再导入新数据,避免旧字段残留。
当前实现边界
- 不是线程安全容器。
- 不做类型自动转换。
- 遇到非法反序列化行时会跳过,而不是抛异常中断整个恢复流程。
公开方法
| 方法 | 说明 |
|---|---|
| SetFieldValue | 写入字段。 |
| TryGetFieldValue | 读取字段。 |
| FindField | 按名称查找底层存储项。 |
| Contains | 判断字段是否存在。 |
| Remove | 删除字段。 |
| Clear | 清空所有字段。 |
| GetFieldCount | 返回字段数。 |
| GetFieldNames | 返回排序后的字段名列表。 |
| SerializeToString | 序列化为文本。 |
| DeserializeFromString | 从文本恢复。 |
| Serialize | 写入输出流。 |
| Deserialize | 从输入流恢复。 |