pub enum TnuaActionLifecycleDirective {
StillActive,
Finished,
Reschedule {
after_seconds: Float,
},
}
Expand description
A decision by TnuaAction::apply
that determines if the action should be continued or not.
Note that an action may continue (probably with different state) after no longer being fed, or stopped while still being fed. It’s up to the action, and it should be responsible with it.
Variants§
StillActive
The action should continue in the next frame.
Finished
The action should not continue in the next frame.
If another action is pending, it will run in this frame. This means that two actions can run in the same frame, as long as the first is finished (or rescheduled)
If TnuaAction::apply
returns this but the action is still being fed, it will not run
again unless it stops being fed for one frame and then gets fed again. If this is not the
desired behavior, TnuaActionLifecycleDirective::Reschedule
should be used instead.
Reschedule
The action should not continue in the next frame, but if its still being fed it run again later. The rescheduled action will be considered a new action.
If another action is pending, it will run in this frame. This means that two actions can run in the same frame, as long as the first is rescheduled (or finished)
Trait Implementations§
Source§impl Clone for TnuaActionLifecycleDirective
impl Clone for TnuaActionLifecycleDirective
Source§fn clone(&self) -> TnuaActionLifecycleDirective
fn clone(&self) -> TnuaActionLifecycleDirective
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TnuaActionLifecycleDirective
impl Debug for TnuaActionLifecycleDirective
Source§impl PartialEq for TnuaActionLifecycleDirective
impl PartialEq for TnuaActionLifecycleDirective
Source§fn eq(&self, other: &TnuaActionLifecycleDirective) -> bool
fn eq(&self, other: &TnuaActionLifecycleDirective) -> bool
self
and other
values to be equal, and is used by ==
.impl Copy for TnuaActionLifecycleDirective
impl StructuralPartialEq for TnuaActionLifecycleDirective
Auto Trait Implementations§
impl Freeze for TnuaActionLifecycleDirective
impl RefUnwindSafe for TnuaActionLifecycleDirective
impl Send for TnuaActionLifecycleDirective
impl Sync for TnuaActionLifecycleDirective
impl Unpin for TnuaActionLifecycleDirective
impl UnwindSafe for TnuaActionLifecycleDirective
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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> DowncastSync for T
impl<T> DowncastSync for T
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 more