pub struct ReflectSaved { /* private fields */ }Expand description
Saves an agent component or a resource with the session: derive
Reflect and add Saved, as #[reflect(Component, Saved)] or
#[reflect(Resource, Saved)].
- Each change is logged at the end of the frame under its type path, or
the key its plugin gives it (
SavedKeys): an agent’s in its log, a resource in theSESSIONlog. A value that serializes tonull, or a removed component, is saved as absent. - On restore it is inserted before
SessionRestoredexists, on the agent it was saved with, so anOn<Insert<T>>observer re-arms what it says. A resource replaces the one its plugin inserted while the app was built. - A type reflected opaquely with serde
(
#[reflect(opaque, Component, Saved, Clone, Serialize, Deserialize)]) is saved through serde: the way to save rig-core data such as aMessageId. - A generic type is saved only once registered. A logged type no build registers is reported and kept in the log. A value that no longer fits its type is reported and not inserted; its next save replaces it.
Trait Implementations§
Source§impl Clone for ReflectSaved
impl Clone for ReflectSaved
Source§impl<T: Component + Reflect + TypePath> CreateTypeData<T> for ReflectSaved
impl<T: Component + Reflect + TypePath> CreateTypeData<T> for ReflectSaved
Source§fn create_type_data(_: ()) -> Self
fn create_type_data(_: ()) -> Self
Create this type data using the given input.
Source§fn insert_dependencies(type_registration: &mut TypeRegistration)
fn insert_dependencies(type_registration: &mut TypeRegistration)
Auto Trait Implementations§
impl Freeze for ReflectSaved
impl RefUnwindSafe for ReflectSaved
impl Send for ReflectSaved
impl Sync for ReflectSaved
impl Unpin for ReflectSaved
impl UnsafeUnpin for ReflectSaved
impl UnwindSafe for ReflectSaved
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ConditionalSend for Twhere
T: Send,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.
Source§impl<T> Template for T
impl<T> Template for T
Source§fn build_template(
&self,
_context: &mut TemplateContext<'_, '_>,
) -> Result<<T as Template>::Output, BevyError>
fn build_template( &self, _context: &mut TemplateContext<'_, '_>, ) -> Result<<T as Template>::Output, BevyError>
Uses this template and the given
entity context to produce a Template::Output.Source§fn clone_template(&self) -> T
fn clone_template(&self) -> T
Clones this template. See
Clone.Source§impl<T> TypeData for T
impl<T> TypeData for T
Source§fn clone_type_data(&self) -> Box<dyn TypeData>
fn clone_type_data(&self) -> Box<dyn TypeData>
Creates a type-erased clone of
self.