Struct BehaviorRegistrar
pub struct BehaviorRegistrar<'a> { /* private fields */ }Expand description
What the game hands an crate::EntityPart where the species’ brain is
built: the behaviors that join it, as Brain.addActivity fills vanilla’s.
Implementations§
§impl<'a> BehaviorRegistrar<'a>
impl<'a> BehaviorRegistrar<'a>
pub fn add<P>(
&mut self,
activity: Activity,
priority: i32,
min_duration: i32,
max_duration: i32,
entry: &'static [(BrainMemory, MemoryStatus)],
behavior: P,
) -> Result<(), BehaviorRefusal>where
P: Behavior,
pub fn add<P>(
&mut self,
activity: Activity,
priority: i32,
min_duration: i32,
max_duration: i32,
entry: &'static [(BrainMemory, MemoryStatus)],
behavior: P,
) -> Result<(), BehaviorRefusal>where
P: Behavior,
Add behavior to the brain: it starts in activity lanes at
priority, runs a duration drawn from the level random in
min_duration..=max_duration (Behavior.tryStart’s draw), and starts
only while every entry condition holds (Behavior’s entry
condition map). It joins after the brain’s own of the same activity
and priority.
pub fn mob(&self) -> RegistrarMob<'_>
pub fn mob(&self) -> RegistrarMob<'_>
The mob whose brain is being built, as far as construction goes: its entity type, the datum vanilla’s brain packages branch on.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for BehaviorRegistrar<'a>
impl<'a> !Send for BehaviorRegistrar<'a>
impl<'a> !Sync for BehaviorRegistrar<'a>
impl<'a> !UnwindSafe for BehaviorRegistrar<'a>
impl<'a> Freeze for BehaviorRegistrar<'a>
impl<'a> Unpin for BehaviorRegistrar<'a>
impl<'a> UnsafeUnpin for BehaviorRegistrar<'a>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more