1.3 KiB
1.3 KiB
ScriptEngine::ApplyScriptFieldWrites
命名空间: XCEngine::Scripting
类型: method
头文件: XCEngine/Scripting/ScriptEngine.h
签名
bool ApplyScriptFieldWrites(
ScriptComponent* component,
const std::vector<ScriptFieldWriteRequest>& requests,
std::vector<ScriptFieldWriteResult>& outResults);
作用
批量写脚本字段,并为每个请求返回独立状态。
当前实现流程
- 先调用
TryGetScriptFieldModel()建立字段模型。 - 针对每个请求逐项校验:
- 字段名不能为空
- 值必须和声明类型兼容
- 字段必须存在于当前模型
- 如果类元数据可用,不能给
StoredOnly遗留字段写值 - 类型必须与模型字段类型一致
- 对已声明字段走
TrySetScriptFieldValue(),保证活体实例和本地存储同步更新。 - 对“类元数据缺失但本地仍有字段”的场景,允许直接写
ScriptFieldStorage。 - 把每条结果写入
outResults。
返回值语义
- 只有所有请求状态都是
Applied时,返回true - 只要出现一项失败或诊断状态,就返回
false
但无论整体布尔值如何,outResults 都是逐项结果的权威来源。