Struct BehaviorRefItem

Source
pub struct BehaviorRefItem<'__w, T: Behavior> { /* private fields */ }
Expand description

Automatically generated WorldQuery item type for BehaviorRef, returned when iterating over query results.

Implementations§

Source§

impl<T: Behavior> BehaviorRefItem<'_, T>

Source

pub fn current(&self) -> &T

Returns the current Behavior state.

Source

pub fn index(&self) -> BehaviorIndex

Returns the BehaviorIndex associated with the current Behavior state.

Source

pub fn has_index(&self, index: BehaviorIndex) -> bool

Returns true if the given BehaviorIndex matches a state in this Behavior stack.

Source

pub fn previous(&self) -> Option<&T>

Returns the previous Behavior state in the stack.

§Usage

Note that this is NOT the previously active state. Instead, this is the previous state which was active before the current one was started.

To access the previously active state, handle Stop instead.

Source

pub fn iter(&self) -> impl Iterator<Item = &T> + '_

Returns an iterator over all Behavior states in the stack, including the current one.

The iterator is ordered from the initial behavior (index = 0) to the current one.

Source

pub fn has_transition(&self) -> bool

Returns true if there is any pending Transition for this Behavior.

§Usage

By design, only one transition is allowed per transition cycle.

The only exception to this rule is if the behavior is interrupted or reset where multiple states may be stopped within a single cycle.

If a transition is requested while another is pending, it would be overriden. The transition helper methods start, interrupt_start, stop and reset all trigger a warning in this case.

Because of this, this method is useful to avoid unintentional transition overrides.

Source

pub fn has_sequence(&self) -> bool

Returns true if there is any TransitionSequence running on this Behavior.

This is useful to allow transition sequences to finish before starting a new behavior.

Trait Implementations§

Source§

impl<T: Behavior> AsRef<T> for BehaviorRefItem<'_, T>

Source§

fn as_ref(&self) -> &T

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

impl<T: Behavior> Deref for BehaviorRefItem<'_, T>

Source§

type Target = T

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<T: Behavior> DetectChanges for BehaviorRefItem<'_, T>

Source§

fn is_added(&self) -> bool

Returns true if this value was added after the system last ran.
Source§

fn is_changed(&self) -> bool

Returns true if this value was added or mutably dereferenced either since the last time the system ran or, if the system never ran, since the beginning of the program. Read more
Source§

fn last_changed(&self) -> Tick

Returns the change tick recording the time this data was most recently changed. Read more
Source§

fn added(&self) -> Tick

Returns the change tick recording the time this data was added.
Source§

fn changed_by(&self) -> MaybeLocation

The location that last caused this to change.
Source§

impl<T: Behavior> Index<BehaviorIndex> for BehaviorRefItem<'_, T>

Source§

type Output = T

The returned type after indexing.
Source§

fn index(&self, BehaviorIndex: BehaviorIndex) -> &Self::Output

Performs the indexing (container[index]) operation. Read more

Auto Trait Implementations§

§

impl<'__w, T> Freeze for BehaviorRefItem<'__w, T>

§

impl<'__w, T> RefUnwindSafe for BehaviorRefItem<'__w, T>
where T: RefUnwindSafe,

§

impl<'__w, T> Send for BehaviorRefItem<'__w, T>

§

impl<'__w, T> Sync for BehaviorRefItem<'__w, T>

§

impl<'__w, T> Unpin for BehaviorRefItem<'__w, T>

§

impl<'__w, T> UnwindSafe for BehaviorRefItem<'__w, T>
where T: RefUnwindSafe,

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>

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

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

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

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

Converts &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)

Converts &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> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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<T> ConditionalSend for T
where T: Send,