roblox_emulator: use common function pointer for lazy user data

This commit is contained in:
Quaternions 2025-04-22 21:06:18 -07:00
parent 14fa450e3e
commit c6ebb179a1
Signed by: Quaternions
GPG Key ID: D0DF5964F79AC131

@ -533,14 +533,17 @@ type LUD=phf::Map<&'static str,// Class name
CreateUserData CreateUserData
> >
>; >;
fn create_script_signal(lua:&mlua::Lua)->mlua::Result<mlua::AnyUserData>{
lua.create_any_userdata(crate::runner::script_signal::ScriptSignal::new())
}
static LAZY_USER_DATA:LUD=phf::phf_map!{ static LAZY_USER_DATA:LUD=phf::phf_map!{
"RunService"=>phf::phf_map!{ "RunService"=>phf::phf_map!{
"Stepped"=>|lua|lua.create_any_userdata(crate::runner::script_signal::ScriptSignal::new()), "Stepped"=>create_script_signal,
"Heartbeat"=>|lua|lua.create_any_userdata(crate::runner::script_signal::ScriptSignal::new()), "Heartbeat"=>create_script_signal,
"RenderStepped"=>|lua|lua.create_any_userdata(crate::runner::script_signal::ScriptSignal::new()), "RenderStepped"=>create_script_signal,
}, },
"Players"=>phf::phf_map!{ "Players"=>phf::phf_map!{
"PlayerAdded"=>|lua|lua.create_any_userdata(crate::runner::script_signal::ScriptSignal::new()), "PlayerAdded"=>create_script_signal,
}, },
}; };
#[derive(Default)] #[derive(Default)]