2.0 KiB
2.0 KiB
ScriptEngine::GetRuntimeFixedDeltaTime
命名空间: XCEngine::Scripting
类型: method
头文件: XCEngine/Scripting/ScriptEngine.h
签名
float GetRuntimeFixedDeltaTime() const;
当前语义
返回 ScriptEngine 当前持有的运行时固定步长配置值,也就是 m_runtimeFixedDeltaTime。
它的来源当前只有两类:
- SetRuntimeFixedDeltaTime 写入的正值
- 默认回退值 DefaultFixedDeltaTime
生命周期行为
- 启动前如果已配置非默认值,OnRuntimeStart 会在内部 stop/start 之间保留这份配置。
- OnRuntimeStop 结束后,该值会重置为 DefaultFixedDeltaTime。
- 调用 SetRuntimeFixedDeltaTime 并传入非正值,也会立刻回到默认值。
与 OnFixedUpdate() 的区别
这个 getter 返回的是“配置的固定步长”,不是“某次具体 fixed tick 传进来的参数”。
当前 OnFixedUpdate 仍使用调用方显式传入的 fixedDeltaTime 参数驱动脚本生命周期;如果上层把两者配置成不同值,脚本回调收到的 delta 与这里返回的配置值就可能出现偏差。
托管侧可见性
Mono 运行时的 Time.fixedDeltaTime 当前就是通过内部调用直接读取这个 getter,因此它也是托管脚本看到的固定步长配置值。
这也是为什么测试里会同时区分:
FixedUpdate()里通过Time.deltaTime观察到的本次 fixed tick delta- 以及通过
Time.fixedDeltaTime观察到的当前配置值
真实行为依据
engine/src/Scripting/ScriptEngine.cppengine/src/Scripting/Mono/MonoScriptRuntime.cppmanaged/XCEngine.ScriptCore/Time.cstests/Scripting/test_mono_script_runtime.cpp