use super::instance::Instance;
use super::tween_info::TweenInfo;

#[expect(dead_code)]
#[derive(Clone)]
pub struct Tween{
	instance:Instance,
	tween_info:TweenInfo,
	goal:mlua::Table,
	playback_state:rbx_types::Enum,
}
impl Tween{
	pub fn create(
		instance:Instance,
		tween_info:TweenInfo,
		goal:mlua::Table,
	)->Self{
		Self{
			instance,
			tween_info,
			goal,
			// Enum.PlaybackState.Begin
			playback_state:rbx_types::Enum::from_u32(0),
		}
	}
	pub fn play(&mut self){
	}
}

impl mlua::UserData for Tween{
	fn add_methods<M:mlua::UserDataMethods<Self>>(methods:&mut M){
		methods.add_method_mut("Play",|_,this,()|Ok(this.play()))
	}
}
type_from_lua_userdata_clone!(Tween);
