pub struct EntitySnapshot {
pub entity_id: u64,
pub components: HashMap<String, SerializedValue>,
}Expand description
Serialized state of a single entity (all its components).
Fields§
§entity_id: u64Stable entity id (assigned by the ECS / entity manager).
components: HashMap<String, SerializedValue>Component type name → serialized value.
Implementations§
Source§impl EntitySnapshot
impl EntitySnapshot
Sourcepub fn insert_component(
&mut self,
name: impl Into<String>,
value: SerializedValue,
)
pub fn insert_component( &mut self, name: impl Into<String>, value: SerializedValue, )
Add or replace a component value.
Sourcepub fn remove_component(&mut self, name: &str) -> Option<SerializedValue>
pub fn remove_component(&mut self, name: &str) -> Option<SerializedValue>
Remove a component. Returns the old value if present.
Sourcepub fn get_component(&self, name: &str) -> Option<&SerializedValue>
pub fn get_component(&self, name: &str) -> Option<&SerializedValue>
Get a component value by name.
Sourcepub fn has_component(&self, name: &str) -> bool
pub fn has_component(&self, name: &str) -> bool
Returns true if the entity has a component with this name.
Sourcepub fn component_count(&self) -> usize
pub fn component_count(&self) -> usize
Number of components stored.
Sourcepub fn merge_from(&mut self, other: &EntitySnapshot)
pub fn merge_from(&mut self, other: &EntitySnapshot)
Merge components from other into self (other wins on conflict).
Sourcepub fn to_serialized(&self) -> SerializedValue
pub fn to_serialized(&self) -> SerializedValue
Serialize to a SerializedValue::Map.
Sourcepub fn from_serialized(v: &SerializedValue) -> Result<Self, DeserializeError>
pub fn from_serialized(v: &SerializedValue) -> Result<Self, DeserializeError>
Deserialize from a SerializedValue::Map.
Trait Implementations§
Source§impl Clone for EntitySnapshot
impl Clone for EntitySnapshot
Source§fn clone(&self) -> EntitySnapshot
fn clone(&self) -> EntitySnapshot
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EntitySnapshot
impl Debug for EntitySnapshot
Source§impl PartialEq for EntitySnapshot
impl PartialEq for EntitySnapshot
impl StructuralPartialEq for EntitySnapshot
Auto Trait Implementations§
impl Freeze for EntitySnapshot
impl RefUnwindSafe for EntitySnapshot
impl Send for EntitySnapshot
impl Sync for EntitySnapshot
impl Unpin for EntitySnapshot
impl UnsafeUnpin for EntitySnapshot
impl UnwindSafe for EntitySnapshot
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,
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>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<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>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> 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)
Convert
&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)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.