Skip to main content

TransitionManager

Struct TransitionManager 

Source
pub struct TransitionManager {
    pub tag: String,
    pub stats: TransitionStats,
    /* private fields */
}
Expand description

Manages screen-to-screen visual transitions.

The game loop should:

  1. Call start() to begin a transition
  2. Call tick(dt) each frame
  3. Check should_swap_state() to know when to swap game state
  4. Call acknowledge_swap() after swapping
  5. Call render_overlay() to get the overlay for rendering
  6. Check is_done() to know when the transition is complete

Fields§

§tag: String

Callback tag for identifying which transition this is.

§stats: TransitionStats

Per-frame stats.

Implementations§

Source§

impl TransitionManager

Source

pub fn new() -> Self

Source

pub fn start(&mut self, transition: TransitionType)

Start a new transition. Any in-progress transition is immediately replaced.

Source

pub fn start_tagged( &mut self, transition: TransitionType, tag: impl Into<String>, )

Start a transition with a tag for identification.

Source

pub fn start_with_easing( &mut self, transition: TransitionType, easing: TransitionEasing, )

Start a transition with custom easing.

Source

pub fn capture_screen(&mut self, width: u32, height: u32, time: f32)

Capture the current screen for cross-fade transitions.

Source

pub fn tick(&mut self, dt: f32)

Advance the transition by dt seconds.

Source

pub fn should_swap_state(&self) -> bool

Whether the game should swap state now.

Source

pub fn acknowledge_swap(&mut self)

Call after swapping game state to continue the fade-in phase.

Source

pub fn is_done(&self) -> bool

Whether the transition has fully completed.

Source

pub fn is_active(&self) -> bool

Whether any transition is currently active (not None and not Completed).

Source

pub fn state(&self) -> TransitionState

Current transition state.

Source

pub fn progress(&self) -> f32

Current progress (0.0 to 1.0).

Source

pub fn clear(&mut self)

Reset to no transition.

Source

pub fn render_overlay( &self, _screen_w: f32, _screen_h: f32, ) -> TransitionOverlay

Compute the overlay parameters for the current frame.

The renderer uses this to draw the transition effect on top of the scene.

Trait Implementations§

Source§

impl Default for TransitionManager

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> 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<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<S> FromSample<S> for S

Source§

fn from_sample_(s: S) -> S

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, U> ToSample<U> for T
where U: FromSample<T>,

Source§

fn to_sample_(self) -> U

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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,