Skip to main content

ComponentEntry

Struct ComponentEntry 

Source
pub struct ComponentEntry {
    name: &'static str,
    module_path: Option<&'static str>,
    encode_json: fn(&Scope<'_>, Entity) -> Result<String, ComponentError>,
    default_partial: fn() -> Result<Partial<'static, false>, ComponentError>,
    current_partial: fn(&Scope<'_>, Entity) -> Result<Partial<'static, false>, ComponentError>,
    set: fn(&Scope<'_>, Entity, Partial<'static, false>) -> Result<(), ComponentError>,
    push: fn(&mut DynamicBundle, Partial<'static, false>) -> Result<(), ComponentError>,
}
Available on crate feature reflect only.
Expand description

One component a bridge can address.

Build one with ComponentEntry::new and submit it with inventory::submit!. The constructor is const, so a submission is a static initializer and costs nothing at run time.

Fields§

§name: &'static str

The bare type name a client addresses the component by.

§module_path: Option<&'static str>

The module the type is defined in, which with the name addresses the component too and tells two same-named types apart.

§encode_json: fn(&Scope<'_>, Entity) -> Result<String, ComponentError>

The component’s value as JSON text, or why it could not be read.

§default_partial: fn() -> Result<Partial<'static, false>, ComponentError>

A partial value over the component’s Default, or over nothing when it has none.

§current_partial: fn(&Scope<'_>, Entity) -> Result<Partial<'static, false>, ComponentError>

A partial value over the entity’s current component, or why it cannot be read.

§set: fn(&Scope<'_>, Entity, Partial<'static, false>) -> Result<(), ComponentError>

Overwrite the component with the value a partial holds.

§push: fn(&mut DynamicBundle, Partial<'static, false>) -> Result<(), ComponentError>

Push the value a partial holds into a builder.

Implementations§

Source§

impl ComponentEntry

Source

pub const fn new<C: Facet<'static> + Clone>() -> Self

The entry for C, using the reflection C derives.

Spawning a C from a partial value needs a base to merge it over, which is C’s own Default when it has one: a Default C is spawned from only the fields that matter, while a C without one has to name every field. Which of the two applies is read from the reflection C derives, so a component that gains a Default starts merging over it without the submission changing.

Source

pub const fn name(&self) -> &'static str

The bare type name a client addresses the component by.

Trait Implementations§

Source§

impl Collect for ComponentEntry

Source§

impl Debug for ComponentEntry

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.
§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more