forked from StrafesNET/strafe-project
roblox_emulator: fixup NumberSequence
This commit is contained in:
@@ -396,8 +396,8 @@ impl mlua::UserData for Instance{
|
||||
rbx_types::Variant::String(typed_value.to_owned())
|
||||
},
|
||||
rbx_reflection::DataType::Value(rbx_types::VariantType::NumberSequence)=>{
|
||||
let typed_value:crate::runner::number_sequence::NumberSequence=*value.as_userdata().ok_or_else(||mlua::Error::runtime("Expected NumberSequence"))?.borrow()?;
|
||||
rbx_types::Variant::NumberSequence(typed_value.into())
|
||||
let typed_value:&crate::runner::number_sequence::NumberSequence=&*value.as_userdata().ok_or_else(||mlua::Error::runtime("Expected NumberSequence"))?.borrow()?;
|
||||
rbx_types::Variant::NumberSequence(typed_value.clone().into())
|
||||
},
|
||||
rbx_reflection::DataType::Value(rbx_types::VariantType::ColorSequence)=>{
|
||||
let typed_value:crate::runner::color_sequence::ColorSequence=*value.as_userdata().ok_or_else(||mlua::Error::runtime("Expected ColorSequence"))?.borrow()?;
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
#[derive(Clone,Copy)]
|
||||
pub struct NumberSequence{}
|
||||
#[derive(Clone)]
|
||||
pub struct NumberSequence(rbx_types::NumberSequence);
|
||||
impl NumberSequence{
|
||||
pub const fn new()->Self{
|
||||
Self{}
|
||||
pub const fn new(keypoints:Vec<rbx_types::NumberSequenceKeypoint>)->Self{
|
||||
Self(rbx_types::NumberSequence{keypoints})
|
||||
}
|
||||
}
|
||||
impl Into<rbx_types::NumberSequence> for NumberSequence{
|
||||
fn into(self)->rbx_types::NumberSequence{
|
||||
rbx_types::NumberSequence{
|
||||
keypoints:Vec::new()
|
||||
}
|
||||
impl From<NumberSequence> for rbx_types::NumberSequence{
|
||||
fn from(value:NumberSequence)->rbx_types::NumberSequence{
|
||||
let NumberSequence(number_sequence)=value;
|
||||
number_sequence
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +17,7 @@ pub fn set_globals(lua:&mlua::Lua,globals:&mlua::Table)->Result<(),mlua::Error>{
|
||||
|
||||
number_sequence_table.raw_set("new",
|
||||
lua.create_function(|_,_:mlua::MultiValue|
|
||||
Ok(NumberSequence::new())
|
||||
Ok(NumberSequence::new(Vec::new()))
|
||||
)?
|
||||
)?;
|
||||
|
||||
@@ -28,4 +27,11 @@ pub fn set_globals(lua:&mlua::Lua,globals:&mlua::Table)->Result<(),mlua::Error>{
|
||||
}
|
||||
|
||||
impl mlua::UserData for NumberSequence{}
|
||||
type_from_lua_userdata!(NumberSequence);
|
||||
impl mlua::FromLua for NumberSequence{
|
||||
fn from_lua(value:mlua::Value,_lua:&mlua::Lua)->Result<Self,mlua::Error>{
|
||||
match value{
|
||||
mlua::Value::UserData(ud)=>Ok(ud.borrow::<Self>()?.clone()),
|
||||
other=>Err(mlua::Error::runtime(format!("Expected {} got {:?}",stringify!(NumberSequence),other))),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user