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