pub struct AnimationContainer<T>where
T: EntityId,{ /* private fields */ }
Expand description
A container for animations. It is a tiny wrapper around Pool
, you should never create the container yourself,
it is managed by the engine.
Implementations§
Source§impl<T> AnimationContainer<T>where
T: EntityId,
impl<T> AnimationContainer<T>where
T: EntityId,
Sourcepub fn new() -> AnimationContainer<T>
pub fn new() -> AnimationContainer<T>
Creates an empty animation container.
Sourcepub fn alive_count(&self) -> u32
pub fn alive_count(&self) -> u32
Returns a total amount of animations in the container.
Sourcepub fn iter(&self) -> impl Iterator<Item = &Animation<T>>
pub fn iter(&self) -> impl Iterator<Item = &Animation<T>>
Returns an iterator yielding a references to animations in the container.
Sourcepub fn pair_iter(
&self,
) -> impl Iterator<Item = (Handle<Animation<T>>, &Animation<T>)>
pub fn pair_iter( &self, ) -> impl Iterator<Item = (Handle<Animation<T>>, &Animation<T>)>
Returns an iterator yielding a pair (handle, reference) to animations in the container.
Sourcepub fn pair_iter_mut(
&mut self,
) -> impl Iterator<Item = (Handle<Animation<T>>, &mut Animation<T>)>
pub fn pair_iter_mut( &mut self, ) -> impl Iterator<Item = (Handle<Animation<T>>, &mut Animation<T>)>
Returns an iterator yielding a pair (handle, reference) to animations in the container.
Sourcepub fn iter_mut(&mut self) -> impl Iterator<Item = &mut Animation<T>>
pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut Animation<T>>
Returns an iterator yielding a references to animations in the container.
Sourcepub fn add(&mut self, animation: Animation<T>) -> Handle<Animation<T>>
pub fn add(&mut self, animation: Animation<T>) -> Handle<Animation<T>>
Adds a new animation to the container and returns its handle.
Sourcepub fn remove(&mut self, handle: Handle<Animation<T>>) -> Option<Animation<T>>
pub fn remove(&mut self, handle: Handle<Animation<T>>) -> Option<Animation<T>>
Tries to remove an animation from the container by its handle.
Sourcepub fn take_reserve(
&mut self,
handle: Handle<Animation<T>>,
) -> (Ticket<Animation<T>>, Animation<T>)
pub fn take_reserve( &mut self, handle: Handle<Animation<T>>, ) -> (Ticket<Animation<T>>, Animation<T>)
Extracts animation from container and reserves its handle. It is used to temporarily take ownership over animation, and then put animation back using given ticket.
Sourcepub fn put_back(
&mut self,
ticket: Ticket<Animation<T>>,
animation: Animation<T>,
) -> Handle<Animation<T>>
pub fn put_back( &mut self, ticket: Ticket<Animation<T>>, animation: Animation<T>, ) -> Handle<Animation<T>>
Puts animation back by given ticket.
Sourcepub fn forget_ticket(&mut self, ticket: Ticket<Animation<T>>)
pub fn forget_ticket(&mut self, ticket: Ticket<Animation<T>>)
Makes animation handle vacant again.
Sourcepub fn get(&self, handle: Handle<Animation<T>>) -> &Animation<T>
pub fn get(&self, handle: Handle<Animation<T>>) -> &Animation<T>
Tries to borrow a reference to an animation in the container. Panics if the handle is invalid.
Sourcepub fn get_mut(&mut self, handle: Handle<Animation<T>>) -> &mut Animation<T>
pub fn get_mut(&mut self, handle: Handle<Animation<T>>) -> &mut Animation<T>
Tries to borrow a mutable reference to an animation in the container. Panics if the handle is invalid.
Sourcepub fn try_get(&self, handle: Handle<Animation<T>>) -> Option<&Animation<T>>
pub fn try_get(&self, handle: Handle<Animation<T>>) -> Option<&Animation<T>>
Tries to borrow a reference to an animation in the container.
Sourcepub fn try_get_mut(
&mut self,
handle: Handle<Animation<T>>,
) -> Option<&mut Animation<T>>
pub fn try_get_mut( &mut self, handle: Handle<Animation<T>>, ) -> Option<&mut Animation<T>>
Tries to borrow a mutable reference to an animation in the container.
Sourcepub fn find_by_name_ref<S>(
&self,
name: S,
) -> Option<(Handle<Animation<T>>, &Animation<T>)>
pub fn find_by_name_ref<S>( &self, name: S, ) -> Option<(Handle<Animation<T>>, &Animation<T>)>
Tries to find an animation by its name in the container.
Sourcepub fn find_by_name_mut<S>(
&mut self,
name: S,
) -> Option<(Handle<Animation<T>>, &mut Animation<T>)>
pub fn find_by_name_mut<S>( &mut self, name: S, ) -> Option<(Handle<Animation<T>>, &mut Animation<T>)>
Tries to find an animation by its name in the container.
Sourcepub fn retain<P>(&mut self, pred: P)
pub fn retain<P>(&mut self, pred: P)
Removes every animation from the container that does not satisfy a particular condition represented by the given closue.
Sourcepub fn clear_animation_events(&mut self)
pub fn clear_animation_events(&mut self)
Removes queued animation events from every animation in the container.
§Potential use cases
Sometimes there is a need to use animation events only from one frame, in this case you should clear events each frame. This situation might come up when you have multiple animations with signals, but at each frame not every event gets processed. This might result in unwanted side effects, like multiple attack events may result in huge damage in a single frame.
Trait Implementations§
Source§impl AnimationContainerExt for AnimationContainer<Handle<UiNode>>
impl AnimationContainerExt for AnimationContainer<Handle<UiNode>>
Source§fn update_animations(&mut self, ui: &mut UserInterface, dt: f32)
fn update_animations(&mut self, ui: &mut UserInterface, dt: f32)
Source§impl<T> Clone for AnimationContainer<T>
impl<T> Clone for AnimationContainer<T>
Source§fn clone(&self) -> AnimationContainer<T>
fn clone(&self) -> AnimationContainer<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<T> Debug for AnimationContainer<T>
impl<T> Debug for AnimationContainer<T>
Source§impl<T> Default for AnimationContainer<T>where
T: EntityId,
impl<T> Default for AnimationContainer<T>where
T: EntityId,
Source§fn default() -> AnimationContainer<T>
fn default() -> AnimationContainer<T>
Source§impl<T> PartialEq for AnimationContainer<T>
impl<T> PartialEq for AnimationContainer<T>
Source§impl<T> Reflect for AnimationContainer<T>
impl<T> Reflect for AnimationContainer<T>
fn source_path() -> &'static str
fn type_name(&self) -> &'static str
fn doc(&self) -> &'static str
Source§fn assembly_name(&self) -> &'static str
fn assembly_name(&self) -> &'static str
#[derive(Reflect)]
) to ensure that this method will return correct assembly
name. In other words - there’s no guarantee, that any implementation other than proc-macro
will return a correct name of the assembly. Alternatively, you can use env!("CARGO_PKG_NAME")
as an implementation.Source§fn type_assembly_name() -> &'static str
fn type_assembly_name() -> &'static str
#[derive(Reflect)]
) to ensure that this method will return correct assembly
name. In other words - there’s no guarantee, that any implementation other than proc-macro
will return a correct name of the assembly. Alternatively, you can use env!("CARGO_PKG_NAME")
as an implementation.fn fields_info(&self, func: &mut dyn FnMut(&[FieldInfo<'_, '_>]))
fn into_any(self: Box<AnimationContainer<T>>) -> Box<dyn Any>
fn set( &mut self, value: Box<dyn Reflect>, ) -> Result<Box<dyn Reflect>, Box<dyn Reflect>>
fn as_any(&self, func: &mut dyn FnMut(&(dyn Any + 'static)))
fn as_any_mut(&mut self, func: &mut dyn FnMut(&mut (dyn Any + 'static)))
fn as_reflect(&self, func: &mut dyn FnMut(&(dyn Reflect + 'static)))
fn as_reflect_mut(&mut self, func: &mut dyn FnMut(&mut (dyn Reflect + 'static)))
fn fields(&self, func: &mut dyn FnMut(&[&(dyn Reflect + 'static)]))
fn fields_mut( &mut self, func: &mut dyn FnMut(&mut [&mut (dyn Reflect + 'static)]), )
fn field( &self, name: &str, func: &mut dyn FnMut(Option<&(dyn Reflect + 'static)>), )
fn field_mut( &mut self, name: &str, func: &mut dyn FnMut(Option<&mut (dyn Reflect + 'static)>), )
Source§fn set_field(
&mut self,
field: &str,
value: Box<dyn Reflect>,
func: &mut dyn FnMut(Result<Box<dyn Reflect>, Box<dyn Reflect>>),
)
fn set_field( &mut self, field: &str, value: Box<dyn Reflect>, func: &mut dyn FnMut(Result<Box<dyn Reflect>, Box<dyn Reflect>>), )
#[reflect(setter = ..)]
or falls back to
Reflect::field_mut
fn as_array(&self, func: &mut dyn FnMut(Option<&(dyn ReflectArray + 'static)>))
fn as_array_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectArray + 'static)>), )
fn as_list(&self, func: &mut dyn FnMut(Option<&(dyn ReflectList + 'static)>))
fn as_list_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectList + 'static)>), )
fn as_inheritable_variable( &self, func: &mut dyn FnMut(Option<&(dyn ReflectInheritableVariable + 'static)>), )
fn as_inheritable_variable_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectInheritableVariable + 'static)>), )
fn as_hash_map( &self, func: &mut dyn FnMut(Option<&(dyn ReflectHashMap + 'static)>), )
fn as_hash_map_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectHashMap + 'static)>), )
Source§impl<T> Visit for AnimationContainer<T>where
T: EntityId,
impl<T> Visit for AnimationContainer<T>where
T: EntityId,
Source§fn visit(&mut self, name: &str, visitor: &mut Visitor) -> Result<(), VisitError>
fn visit(&mut self, name: &str, visitor: &mut Visitor) -> Result<(), VisitError>
impl<T> StructuralPartialEq for AnimationContainer<T>where
T: EntityId,
Auto Trait Implementations§
impl<T> Freeze for AnimationContainer<T>
impl<T> !RefUnwindSafe for AnimationContainer<T>
impl<T> Send for AnimationContainer<T>
impl<T> Sync for AnimationContainer<T>
impl<T> Unpin for AnimationContainer<T>where
T: Unpin,
impl<T> !UnwindSafe for AnimationContainer<T>
Blanket Implementations§
Source§impl<T> AsyncTaskResult for T
impl<T> AsyncTaskResult for T
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Any
. Could be used to downcast a trait object
to a particular type.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Any
. Could be used to downcast a trait object
to a particular type.fn into_any(self: Box<T>) -> Box<dyn Any>
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FieldValue for Twhere
T: 'static,
impl<T> FieldValue for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MessageData for T
impl<T> MessageData for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.Source§impl<T> ReflectBase for Twhere
T: Reflect,
impl<T> ReflectBase for Twhere
T: Reflect,
fn as_any_raw(&self) -> &(dyn Any + 'static)
fn as_any_raw_mut(&mut self) -> &mut (dyn Any + 'static)
Source§impl<T> ResolvePath for Twhere
T: Reflect,
impl<T> ResolvePath for Twhere
T: Reflect,
fn resolve_path<'p>( &self, path: &'p str, func: &mut dyn FnMut(Result<&(dyn Reflect + 'static), ReflectPathError<'p>>), )
fn resolve_path_mut<'p>( &mut self, path: &'p str, func: &mut dyn FnMut(Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>), )
fn get_resolve_path<'p, T>(
&self,
path: &'p str,
func: &mut dyn FnMut(Result<&T, ReflectPathError<'p>>),
)where
T: Reflect,
fn get_resolve_path_mut<'p, T>(
&mut self,
path: &'p str,
func: &mut dyn FnMut(Result<&mut T, ReflectPathError<'p>>),
)where
T: Reflect,
Source§impl<T> ScriptMessagePayload for T
impl<T> ScriptMessagePayload for T
Source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
self
as &dyn Any
Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
self
as &dyn Any
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.