Struct big_brain::thinker::Thinker [−][src]
pub struct Thinker { /* fields omitted */ }The “brains” behind this whole operation. A Thinker is what glues together Actions and Scorers and shapes larger, intelligent-seeming systems.
Note: Thinkers are also Actions, so anywhere you can pass in an Action (or ActionBuilder), you can pass in a Thinker (or ThinkerBuilder).
Example
pub fn init_entities(mut cmd: Commands) { cmd.spawn() .insert(Thirst::new(70.0, 2.0)) .insert(Hunger::new(50.0, 3.0)) .insert( Thinker::build() .picker(FirstToScore::new(80.0)) .when(Thirsty::build(), Drink::build()) .when(Hungry::build(), Eat::build()) .otherwise(Meander::build()), ); }
Implementations
impl Thinker[src]
pub fn build() -> ThinkerBuilder[src]
Make a new ThinkerBuilder. This is what you’ll actually use to configure Thinker behavior.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Thinker
impl Send for Thinker
impl Sync for Thinker
impl Unpin for Thinker
impl !UnwindSafe for Thinker
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Any for T where
T: Any,
T: Any,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Component for T where
T: 'static + Send + Sync,
T: 'static + Send + Sync,
impl<T> Downcast for T where
T: Any,
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> Downcast<T> for T
impl<T> DowncastSync for T where
T: Any + Send + Sync,
T: Any + Send + Sync,
impl<T> From<T> for T[src]
impl<T> Instrument for T[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>[src]
pub fn in_current_span(self) -> Instrumented<Self>[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Upcast<T> for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,