Skip to main content

StateAction

Enum StateAction 

Source
pub enum StateAction<T: EntityId> {
    None,
    RewindAnimation(Handle<Animation<T>>),
    EnableAnimation(Handle<Animation<T>>),
    DisableAnimation(Handle<Animation<T>>),
    EnableRandomAnimation(Vec<Handle<Animation<T>>>),
}
Expand description

An action, that will be executed by a state. It usually used to rewind, enable/disable animations when entering or leaving states. This is useful in situations when you have a one-shot animation and you need to rewind it before when entering some state. For example, you may have looped idle state and one-shot attack state. In this case, you need to use StateAction::RewindAnimation to tell the engine to automatically rewind the animation before using it. Otherwise, when the transition will happen, the animation could be ended already and you’ll get “frozen” animation.

Variants§

§

None

No action.

§

RewindAnimation(Handle<Animation<T>>)

Rewinds the animation.

§

EnableAnimation(Handle<Animation<T>>)

Enables the animation.

§

DisableAnimation(Handle<Animation<T>>)

Disables the animation.

§

EnableRandomAnimation(Vec<Handle<Animation<T>>>)

Enables random animation from the list. It could be useful if you want to add randomization to your state machine. For example, you may have few melee attack animations and all of them are suitable for every situation, in this case you can add randomization to make attacks less predictable.

Implementations§

Source§

impl<T: EntityId> StateAction<T>

Source

pub const REWIND_ANIMATION_F_0: &'static str = "RewindAnimation@0"

Source

pub const ENABLE_ANIMATION_F_0: &'static str = "EnableAnimation@0"

Source

pub const DISABLE_ANIMATION_F_0: &'static str = "DisableAnimation@0"

Source

pub const ENABLE_RANDOM_ANIMATION_F_0: &'static str = "EnableRandomAnimation@0"

Source§

impl<T: EntityId> StateAction<T>

Source

pub fn apply(&self, animations: &mut AnimationContainer<T>)

Applies the action to the given animation container.

Trait Implementations§

Source§

impl<T: EntityId> AsRef<str> for StateAction<T>

Source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<T: Clone + EntityId> Clone for StateAction<T>

Source§

fn clone(&self) -> StateAction<T>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug + EntityId> Debug for StateAction<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: EntityId> Default for StateAction<T>

Source§

fn default() -> StateAction<T>

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

impl<T: EntityId> FromStr for StateAction<T>

Source§

type Err = ParseError

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<StateAction<T>, <Self as FromStr>::Err>

Parses a string s to return a value of this type. Read more
Source§

impl<T: PartialEq + EntityId> PartialEq for StateAction<T>

Source§

fn eq(&self, other: &StateAction<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T: EntityId> Reflect for StateAction<T>
where Self: 'static,

Source§

fn source_path() -> &'static str

Source§

fn try_clone_box(&self) -> Option<Box<dyn Reflect>>

Source§

fn type_name(&self) -> &'static str

Source§

fn derived_types() -> &'static [TypeId]

Source§

fn query_derived_types(&self) -> &'static [TypeId]

Source§

fn doc(&self) -> &'static str

Source§

fn assembly_name(&self) -> &'static str

Returns a parent assembly name of the type that implements this trait. WARNING: You should use proc-macro (#[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

Returns a parent assembly name of the type that implements this trait. WARNING: You should use proc-macro (#[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 fields_ref(&self, func: &mut dyn FnMut(&[FieldRef<'_, '_>]))

Source§

fn fields_mut(&mut self, func: &mut dyn FnMut(&mut [FieldMut<'_, '_>]))

Source§

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

Source§

fn set( &mut self, value: Box<dyn Reflect>, ) -> Result<Box<dyn Reflect>, Box<dyn Reflect>>

Source§

fn as_any(&self, func: &mut dyn FnMut(&dyn Any))

Source§

fn as_any_mut(&mut self, func: &mut dyn FnMut(&mut dyn Any))

Source§

fn as_reflect(&self, func: &mut dyn FnMut(&dyn Reflect))

Source§

fn as_reflect_mut(&mut self, func: &mut dyn FnMut(&mut dyn Reflect))

Source§

fn set_field( &mut self, field_name: &str, value: Box<dyn Reflect>, func: &mut dyn FnMut(Result<Box<dyn Reflect>, SetFieldError>), )

Calls user method specified with #[reflect(setter = ..)] or falls back to Reflect::field_mut
Source§

fn field( &self, name: &str, func: &mut dyn FnMut(Option<&(dyn Reflect + 'static)>), )

Source§

fn field_mut( &mut self, name: &str, func: &mut dyn FnMut(Option<&mut (dyn Reflect + 'static)>), )

Source§

fn as_array(&self, func: &mut dyn FnMut(Option<&(dyn ReflectArray + 'static)>))

Source§

fn as_array_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectArray + 'static)>), )

Source§

fn as_list(&self, func: &mut dyn FnMut(Option<&(dyn ReflectList + 'static)>))

Source§

fn as_list_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectList + 'static)>), )

Source§

fn as_inheritable_variable( &self, func: &mut dyn FnMut(Option<&(dyn ReflectInheritableVariable + 'static)>), )

Source§

fn as_inheritable_variable_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectInheritableVariable + 'static)>), )

Source§

fn as_hash_map( &self, func: &mut dyn FnMut(Option<&(dyn ReflectHashMap + 'static)>), )

Source§

fn as_hash_map_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectHashMap + 'static)>), )

Source§

fn as_handle( &self, func: &mut dyn FnMut(Option<&(dyn ReflectHandle + 'static)>), )

Source§

fn as_handle_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectHandle + 'static)>), )

Source§

impl<T: PartialEq + EntityId> StructuralPartialEq for StateAction<T>

Source§

impl<T: EntityId> TryFrom<&str> for StateAction<T>

Source§

type Error = ParseError

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

fn try_from(s: &str) -> Result<StateAction<T>, <Self as TryFrom<&str>>::Error>

Performs the conversion.
Source§

impl<T: EntityId> TypeUuidProvider for StateAction<T>

Source§

fn type_uuid() -> Uuid

Return type UUID.
Source§

impl<T: EntityId> VariantNames for StateAction<T>

Source§

const VARIANTS: &'static [&'static str]

Names of the variants of this enum
Source§

impl<T: EntityId> Visit for StateAction<T>

Source§

fn visit(&mut self, name: &str, visitor: &mut Visitor) -> VisitResult

Read or write this value, depending on whether Visitor::is_reading() is true or false. Read more

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for StateAction<T>

§

impl<T> !UnwindSafe for StateAction<T>

§

impl<T> Freeze for StateAction<T>

§

impl<T> Send for StateAction<T>

§

impl<T> Sync for StateAction<T>

§

impl<T> Unpin for StateAction<T>
where T: Unpin,

§

impl<T> UnsafeUnpin for StateAction<T>

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> AsyncTaskResult for T
where T: Any + Send + 'static,

Source§

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

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynType for T

Source§

fn type_uuid(&self) -> Uuid

Source§

fn clone_box(&self) -> Box<dyn DynType>

Source§

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

Source§

impl<T> FieldValue for T
where T: Reflect,

Source§

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

Casts self to a &dyn Any
Source§

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

Casts self to a &mut dyn Any
Source§

fn field_value_as_reflect(&self) -> &(dyn Reflect + 'static)

Source§

fn field_value_as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)

Source§

fn type_name(&self) -> &'static str

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<R> GetField for R
where R: Reflect,

Source§

fn get_field<T>(&self, name: &str, func: &mut dyn FnMut(Option<&T>))
where T: 'static,

Source§

fn get_field_mut<T>(&mut self, name: &str, func: &mut dyn FnMut(Option<&mut T>))
where T: 'static,

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> ObjectOrVariant<T> for U

Source§

impl<T> ReflectBase for T
where T: Reflect,

Source§

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

Source§

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

Source§

impl<T> ResolvePath for T
where T: Reflect,

Source§

fn resolve_path<'p>( &self, path: &'p str, func: &mut dyn FnMut(Result<&(dyn Reflect + 'static), ReflectPathError<'p>>), )

Source§

fn resolve_path_mut<'p>( &mut self, path: &'p str, func: &mut dyn FnMut(Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>), )

Source§

fn get_resolve_path<'p, T>( &self, path: &'p str, func: &mut dyn FnMut(Result<&T, ReflectPathError<'p>>), )
where T: Reflect,

Source§

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

Source§

type Output = T

Should always be Self
Source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,

Source§

impl<T> SpriteSheetTexture for T
where T: PartialEq + Clone + Visit + Reflect + Default,

Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V