diff --git a/lib/roblox_emulator/src/runner/instance/instance.rs b/lib/roblox_emulator/src/runner/instance/instance.rs index 63b8c3c..809434d 100644 --- a/lib/roblox_emulator/src/runner/instance/instance.rs +++ b/lib/roblox_emulator/src/runner/instance/instance.rs @@ -130,19 +130,23 @@ type_from_lua_userdata!(Instance); impl mlua::UserData for Instance{ fn add_fields<F:mlua::UserDataFields<Self>>(fields:&mut F){ - fields.add_field_method_get("Parent",|lua,this|{ + fn get_parent(lua:&mlua::Lua,this:&Instance)->mlua::Result<Option<Instance>>{ dom_mut(lua,|dom|{ let instance=this.get(dom)?; Ok(Instance::new(instance.parent())) }) - }); - fields.add_field_method_set("Parent",|lua,this,val:Option<Instance>|{ + } + fields.add_field_method_get("parent",get_parent); + fields.add_field_method_get("Parent",get_parent); + fn set_parent(lua:&mlua::Lua,this:&mut Instance,val:Option<Instance>)->mlua::Result<()>{ let parent=val.unwrap_or(Instance::nil()); dom_mut(lua,|dom|{ dom.transfer_within(this.referent,parent.referent); Ok(()) }) - }); + } + fields.add_field_method_set("parent",set_parent); + fields.add_field_method_set("Parent",set_parent); fields.add_field_method_get("Name",|lua,this|{ dom_mut(lua,|dom|{ let instance=this.get(dom)?;