Struct LoadedEntity

Source
pub struct LoadedEntity<S: LeafStore> {
    pub store: S,
    pub link: ExactLink,
    pub entity: Entity,
    pub digest: Digest,
    pub pending_components: Vec<ComponentKind>,
}

Fields§

§store: S§link: ExactLink§entity: Entity§digest: Digest

The digest of the entity. This may be a null digest if you have just called get_or_init(), and the digest has not computed yet.

It will also not be updated until save() is called when making changes to the entity.

§pending_components: Vec<ComponentKind>

The list of components that have been added to the entity, but haven’t been written to storage yet.

Implementations§

Source§

impl<S: LeafStore> LoadedEntity<S>

Source

pub fn del_components<C: Component>(&mut self)

Delete all components of the given type.

The changes will not be persisted until save() is called.

Source

pub fn del_components_by_schema(&mut self, schema: Digest)

Source

pub async fn get_component<C: Component>(&self) -> Result<Option<C>>

Get the first component of a given type on the entity, or None if there is no component of that type.

Source

pub async fn get_components<C: Component>(&self) -> Result<Vec<C>>

Get all components of the given type on the entity.

Source

pub async fn get_components_by_schema( &self, schema: Digest, ) -> Result<Vec<Vec<u8>>>

Source

pub fn set_component<C: Component>(&mut self, data: C) -> Result<()>

Remove all components of the same type that are already on the entity, and then add the component to the entity.

This is similar to add_component(), but it makes sure that after it’s done there is only one component of the given type on the entity.

The change will not be persisted until save() is called.

Source

pub fn add_component<C: Component>(&mut self, data: C) -> Result<()>

Add a component to the entity.

The component will not be persisted until save() is called.

Source

pub fn add_component_data(&mut self, data: ComponentKind)

Source

pub async fn save(&mut self) -> Result<()>

Persist updates made to this entity’s components, writing updated entity and components to the store.

Source

pub async fn delete(&mut self) -> Result<()>

Delete the entity. Changes are immediately written to the store.

Trait Implementations§

Source§

impl<S: Debug + LeafStore> Debug for LoadedEntity<S>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<S> Freeze for LoadedEntity<S>
where S: Freeze,

§

impl<S> RefUnwindSafe for LoadedEntity<S>
where S: RefUnwindSafe,

§

impl<S> Send for LoadedEntity<S>
where S: Send,

§

impl<S> Sync for LoadedEntity<S>
where S: Sync,

§

impl<S> Unpin for LoadedEntity<S>
where S: Unpin,

§

impl<S> UnwindSafe for LoadedEntity<S>
where S: UnwindSafe,

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<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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

Source§

type Output = T

Should always be Self
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

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> 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> ErasedDestructor for T
where T: 'static,