gizmo_scripting/
api_time.rs1use mlua::prelude::*;
6
7pub fn register_time_api(lua: &Lua) -> Result<(), LuaError> {
9 let time_table = lua.create_table()?;
10
11 time_table.set("_dt", 0.0f32)?;
12 time_table.set("_elapsed", 0.0f32)?;
13 time_table.set("_fps", 60.0f32)?;
14
15 lua.globals().set("time", time_table)?;
16
17 lua.load(
19 r#"
20 function time.dt()
21 return time._dt
22 end
23
24 function time.elapsed()
25 return time._elapsed
26 end
27
28 function time.fps()
29 return time._fps
30 end
31 "#,
32 )
33 .exec()?;
34
35 Ok(())
36}
37
38pub fn update_time_api(lua: &Lua, dt: f32, elapsed: f32, fps: f32) -> Result<(), LuaError> {
40 let time_table: LuaTable = lua.globals().get("time")?;
41 time_table.set("_dt", dt)?;
42 time_table.set("_elapsed", elapsed)?;
43 time_table.set("_fps", fps)?;
44 Ok(())
45}