Skip to main content

AnimManager

Struct AnimManager 

Source
pub struct AnimManager<'a> { /* private fields */ }
Expand description

Animation manager that handles multiple animations.

This struct manages the lifecycle and playback of multiple animations. It is designed to be memory-efficient for embedded systems.

§Type Parameters

  • C - The callback type that implements AnimCallback
  • N - The maximum number of simultaneous animations

Implementations§

Source§

impl<'a> AnimManager<'a>

Source

pub const fn new( animations: &'a mut [AnimInstance], anim_status: &'a [AnimStatus], ) -> Self

Creates a new animation manager.

Source

pub fn add(&mut self, anim: Anim) -> Option<AnimId>

Adds an animation to the manager.

§Arguments
  • anim - The animation to add
§Returns

The animation ID, or None if the manager is full.

Source

pub fn remove(&mut self, id: AnimId) -> bool

Removes an animation from the manager.

§Arguments
  • id - The animation ID to remove
§Returns

true if the animation was found and removed.

Source

pub fn play(&mut self, id: AnimId) -> bool

Starts playing an animation.

§Arguments
  • id - The animation ID to play
§Returns

true if the animation was found and started.

Source

pub fn pause(&mut self, id: AnimId) -> bool

Pauses an animation.

§Arguments
  • id - The animation ID to pause
§Returns

true if the animation was found and paused.

Source

pub fn resume(&mut self, id: AnimId) -> bool

Resumes a paused animation.

§Arguments
  • id - The animation ID to resume
§Returns

true if the animation was found and resumed.

Source

pub fn stop(&mut self, id: AnimId) -> bool

Stops an animation.

§Arguments
  • id - The animation ID to stop
§Returns

true if the animation was found and stopped.

Source

pub fn get_state(&self, id: AnimId) -> Option<AnimState>

Gets the state of an animation.

§Arguments
  • id - The animation ID
§Returns

The animation state, or None if not found.

Source

pub fn tick(&mut self, elapsed: Duration)

Updates all active animations.

This method should be called regularly (e.g., in the main loop) with the elapsed time since the last update.

§Arguments
  • elapsed - Time elapsed since the last update
Source

pub fn count(&self) -> usize

Returns the number of active animations.

Source

pub fn is_empty(&self) -> bool

Returns whether there are any active animations.

Auto Trait Implementations§

§

impl<'a> Freeze for AnimManager<'a>

§

impl<'a> !RefUnwindSafe for AnimManager<'a>

§

impl<'a> !Send for AnimManager<'a>

§

impl<'a> !Sync for AnimManager<'a>

§

impl<'a> Unpin for AnimManager<'a>

§

impl<'a> UnsafeUnpin for AnimManager<'a>

§

impl<'a> !UnwindSafe for AnimManager<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.