pub struct Transition<T: Lerp + Send + Sync + 'static> {
pub from: T,
pub to: T,
pub start: Instant,
pub duration: Duration,
pub easing: Easing,
}Expand description
One-shot transition between two values of a tween-able type.
Use Transition::new to construct or From<(T, T, Duration)> for
the common linear case. Transition::sample returns the eased value
at any instant; Transition::done returns true once elapsed time
has met or exceeded duration so the caller can despawn the component
and stop tweening.
Fields§
§from: TValue at start.
to: TValue at start + duration.
start: InstantWall-clock instant the transition began.
duration: DurationTotal length of the transition.
easing: EasingCurve applied to the linear progress fraction.
Implementations§
Source§impl<T: Lerp + Send + Sync + 'static> Transition<T>
impl<T: Lerp + Send + Sync + 'static> Transition<T>
Sourcepub fn new(from: T, to: T, duration: Duration, easing: Easing) -> Self
pub fn new(from: T, to: T, duration: Duration, easing: Easing) -> Self
Construct a transition that starts at now() and runs over
duration with easing.
Trait Implementations§
Source§impl<T: Clone + Lerp + Send + Sync + 'static> Clone for Transition<T>
impl<T: Clone + Lerp + Send + Sync + 'static> Clone for Transition<T>
Source§fn clone(&self) -> Transition<T>
fn clone(&self) -> Transition<T>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T: Lerp + Send + Sync + 'static> Component for Transition<T>
impl<T: Lerp + Send + Sync + 'static> Component for Transition<T>
Source§const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
A constant indicating the storage type used for this component.
Source§type Mutability = Mutable
type Mutability = Mutable
A marker type to assist Bevy with determining if this component is
mutable, or immutable. Mutable components will have [
Component<Mutability = Mutable>],
while immutable components will instead have [Component<Mutability = Immutable>]. Read moreSource§fn register_required_components(
_requiree: ComponentId,
required_components: &mut RequiredComponentsRegistrator<'_, '_>,
)
fn register_required_components( _requiree: ComponentId, required_components: &mut RequiredComponentsRegistrator<'_, '_>, )
Registers required components. Read more
Source§fn clone_behavior() -> ComponentCloneBehavior
fn clone_behavior() -> ComponentCloneBehavior
Called when registering this component, allowing to override clone function (or disable cloning altogether) for this component. Read more
Source§fn relationship_accessor() -> Option<ComponentRelationshipAccessor<Self>>
fn relationship_accessor() -> Option<ComponentRelationshipAccessor<Self>>
Returns [
ComponentRelationshipAccessor] required for working with relationships in dynamic contexts. Read more§fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Gets the
on_add [ComponentHook] for this [Component] if one is defined.§fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Gets the
on_insert [ComponentHook] for this [Component] if one is defined.§fn on_discard() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_discard() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Gets the
on_discard [ComponentHook] for this [Component] if one is defined.§fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Gets the
on_remove [ComponentHook] for this [Component] if one is defined.§fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Gets the
on_despawn [ComponentHook] for this [Component] if one is defined.§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
Maps the entities on this component using the given [
EntityMapper]. This is used to remap entities in contexts like scenes and entity cloning.
When deriving [Component], this is populated by annotating fields containing entities with #[entities] Read moreSource§impl<T: Lerp + Send + Sync + 'static> From<(T, T, Duration)> for Transition<T>
impl<T: Lerp + Send + Sync + 'static> From<(T, T, Duration)> for Transition<T>
Source§fn from((from, to, duration): (T, T, Duration)) -> Self
fn from((from, to, duration): (T, T, Duration)) -> Self
Convenience: (from, to, duration).into() builds a
Easing::Linear transition starting at now().
impl<T: Copy + Lerp + Send + Sync + 'static> Copy for Transition<T>
Auto Trait Implementations§
impl<T> Freeze for Transition<T>where
T: Freeze,
impl<T> RefUnwindSafe for Transition<T>where
T: RefUnwindSafe,
impl<T> Send for Transition<T>
impl<T> Sync for Transition<T>
impl<T> Unpin for Transition<T>where
T: Unpin,
impl<T> UnsafeUnpin for Transition<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Transition<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ) -> impl Iterator<Item = ComponentId> + use<C>
§fn get_component_ids(
components: &Components,
) -> impl Iterator<Item = Option<ComponentId>>
fn get_component_ids( components: &Components, ) -> impl Iterator<Item = Option<ComponentId>>
Return a iterator over this [
Bundle]’s component ids. This will be None if the component has not been registered.§impl<C> BundleFromComponents for Cwhere
C: Component,
impl<C> BundleFromComponents for Cwhere
C: Component,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere
C: Component,
§unsafe fn get_components(
ptr: MovingPtr<'_, C>,
func: &mut impl FnMut(StorageType, OwningPtr<'_>),
) -> <C as DynamicBundle>::Effect
unsafe fn get_components( ptr: MovingPtr<'_, C>, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
Moves the components out of the bundle. Read more
§unsafe fn apply_effect(
_ptr: MovingPtr<'_, MaybeUninit<C>>,
_entity: &mut EntityWorldMut<'_>,
)
unsafe fn apply_effect( _ptr: MovingPtr<'_, MaybeUninit<C>>, _entity: &mut EntityWorldMut<'_>, )
Applies the after-effects of spawning this bundle. Read more
§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.