Struct ark_api::behavior::Behavior

source ·
pub struct Behavior;
Expand description

The Behavior API provides behavior modules functionality for interacting with the world

Implementations§

source§

impl Behavior

source

pub fn aspect_get(&self, addr: AspectAddr) -> Option<Vec<u8>>

Retrieve a serialized representation of aspect data of the given actor and aspect type if it exists

The serialization format has to be defined in a protocol that is agreed upon with the owning controller module

source

pub fn send_outgoing_messages( &self, outgoing_messages: &[OutgoingMessage] ) -> Result<(), Error>

Batch send OutgoingMessage data back to the controller module

It is important to understand that this doesn’t send the message directly to a behavior instance for processing. It is sent to the controller module who then decides what to do with it.

For performance reasons it is recommended to always batch as many outgoing messages together as that will reduce calls over FFI, which are expensive

TODO: Should return a custom error type through which a user can identify which messages/behavior modules failed and why

source

pub fn iter_actors_with_aspect( &self, aspect_guid: Guid ) -> Option<ActorsWithAspectIter>

Retrieve an iterator over all actors with the given aspect GUID

source

pub fn random_seed_value(&self) -> u128

Retrieves a fixed but random value (different each execution of the behavior module, but maintained on respawn).

Trait Implementations§

source§

impl Clone for Behavior

source§

fn clone(&self) -> Behavior

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Copy for Behavior

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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> ToOwned for Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.