Files
XCEngine/docs/api/XCEngine/Scripting/Mono/MonoScriptRuntime/InvokeMethod.md

35 lines
917 B
Markdown
Raw Normal View History

# MonoScriptRuntime::InvokeMethod
**命名空间**: `XCEngine::Scripting`
**类型**: `method`
**头文件**: `XCEngine/Scripting/Mono/MonoScriptRuntime.h`
## 签名
```cpp
void InvokeMethod(
const ScriptRuntimeContext& context,
ScriptLifecycleMethod method,
float deltaTime) override;
```
## 当前实现行为
- 先找实例缓存和类元数据。
- 再从类元数据里取出对应生命周期方法指针。
- 若方法不存在,直接返回,不视为错误。
- 调用前暂存当前 internal call 的 `deltaTime`
- 把本次 `deltaTime` 写入 internal call 全局状态。
- 调用托管方法。
- 调用后恢复旧的 `deltaTime`
## 设计意义
这说明当前托管 `Time.deltaTime` 一类能力,并不是通过每次参数注入,而是通过 internal call 共享状态提供。
## 相关文档
- [IScriptRuntime::InvokeMethod](../../IScriptRuntime/InvokeMethod.md)