Easing function types inspired by Roblox Studio.
LINEAR: Any = 'Linear'
QUAD_IN: Any = 'QuadIn'
QUAD_OUT: Any = 'QuadOut'
QUAD_IN_OUT: Any = 'QuadInOut'
CUBIC_IN: Any = 'CubicIn'
CUBIC_OUT: Any = 'CubicOut'
CUBIC_IN_OUT: Any = 'CubicInOut'
QUART_IN: Any = 'QuartIn'
QUART_OUT: Any = 'QuartOut'
QUART_IN_OUT: Any = 'QuartInOut'
QUINT_IN: Any = 'QuintIn'
QUINT_OUT: Any = 'QuintOut'
QUINT_IN_OUT: Any = 'QuintInOut'
SINE_IN: Any = 'SineIn'
SINE_OUT: Any = 'SineOut'
SINE_IN_OUT: Any = 'SineInOut'
EXPO_IN: Any = 'ExpoIn'
EXPO_OUT: Any = 'ExpoOut'
EXPO_IN_OUT: Any = 'ExpoInOut'
CIRC_IN: Any = 'CircIn'
CIRC_OUT: Any = 'CircOut'
CIRC_IN_OUT: Any = 'CircInOut'
ELASTIC_IN: Any = 'ElasticIn'
ELASTIC_OUT: Any = 'ElasticOut'
ELASTIC_IN_OUT: Any = 'ElasticInOut'
BACK_IN: Any = 'BackIn'
BACK_OUT: Any = 'BackOut'
BACK_IN_OUT: Any = 'BackInOut'
BOUNCE_IN: Any = 'BounceIn'
BOUNCE_OUT: Any = 'BounceOut'
BOUNCE_IN_OUT: Any = 'BounceInOut'
No methods defined.
Represents a property to be animated with its start and end values.
start: Any = None
end: Any = None
original_start: Any = None
original_end: Any = None
No methods defined.
Main tween class for animating object properties.
Provides Roblox Studio-like API for creating and controlling animations.
_active_tweens: List['Tween'] = []
def __init__(self: Any, target: Any) -> Any
def create(cls: Any, target: Any) -> 'Tween'
def to(self: Any, **kwargs: dict) -> 'Tween'
def set_delay(self: Any, delay: float) -> 'Tween'
def play(self: Any) -> 'Tween'
def pause(self: Any) -> 'Tween'
def resume(self: Any) -> 'Tween'
def cancel(self: Any) -> 'Tween'
def stop(self: Any, reset: bool = False) -> 'Tween'
def set_duration(self: Any, duration: float) -> 'Tween'
def _get_elapsed_time(self: Any) -> float
def get_progress(self: Any) -> float
def get_progress_percentage(self: Any) -> float
def update(self: Any, dt: Optional[float] = None) -> bool
def _update_property(self: Any, prop_name: str, prop: TweenProperty, progress: float) -> Any
def _complete_animation(self: Any) -> Any
def _apply_easing(self: Any, t: float) -> float
def _bounce_out(t: float) -> float
def set_easing(self: Any, easing: Union[EasingType, str]) -> 'Tween'
def set_loops(self: Any, loops: int, yoyo: bool = False) -> 'Tween'
def set_callbacks(self: Any, on_start: Optional[Callable] = None, on_update: Optional[Callable[['Tween', float], None]] = None, on_complete: Optional[Callable] = None, on_loop: Optional[Callable[[int], None]] = None, on_stop: Optional[Callable] = None) -> 'Tween'
def update_all(cls: Any, dt: Optional[float] = None) -> Any
def cancel_all(cls: Any) -> Any
def pause_all(cls: Any) -> Any
def resume_all(cls: Any) -> Any
def get_active_count(cls: Any) -> int
def sequence(cls: Any, tweens: List['Tween']) -> 'TweenSequence'
def parallel(cls: Any, tweens: List['Tween']) -> 'TweenParallel'
Global animation handler for managing all tweens in the engine.
Integrates with LunaEngine to provide centralized animation control.
def __init__(self: Any, engine: Any = None) -> Any
def add(self: Any, name: str, tween: Tween, auto_play: bool = True) -> Tween
def get(self: Any, name: str) -> Optional[Tween]
def remove(self: Any, name: str, stop: bool = True) -> bool
def pause(self: Any, name: str) -> bool
def resume(self: Any, name: str) -> bool
def stop(self: Any, name: str, reset: bool = False) -> bool
def cancel(self: Any, name: str) -> bool
def is_playing(self: Any, name: str) -> bool
def is_paused(self: Any, name: str) -> bool
def update(self: Any, dt: Optional[float] = None) -> Any
def _cleanup_completed(self: Any) -> Any
def pause_all(self: Any) -> Any
def resume_all(self: Any) -> Any
def stop_all(self: Any, reset: bool = False) -> Any
def cancel_all(self: Any) -> Any
def get_active_count(self: Any) -> int
def clear(self: Any) -> Any
Base class for groups of tweens (sequential or parallel).
def __init__(self: Any, tweens: List[Tween]) -> Any
def play(self: Any) -> Any
def _play_current(self: Any) -> Any
def update(self: Any, dt: Optional[float] = None) -> bool
def cancel(self: Any) -> Any
Plays tweens in sequence (one after another).
def _play_current(self: Any) -> Any
def update(self: Any, dt: Optional[float] = None) -> bool
Plays tweens in parallel (all at the same time).
def play(self: Any) -> Any
def update(self: Any, dt: Optional[float] = None) -> bool