pub struct AllBodies<BodyMeta, SpeciesMeta> {Show 19 fields
pub humanoid: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub quadruped_small: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub quadruped_medium: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub bird_medium: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub fish_medium: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub dragon: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub bird_large: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub fish_small: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub biped_large: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub biped_small: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub object: BodyData<BodyMeta, ()>,
pub item: BodyData<BodyMeta, ()>,
pub golem: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub theropod: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub quadruped_low: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub ship: BodyData<BodyMeta, ()>,
pub arthropod: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub crustacean: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
pub plugin: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>,
}Expand description
Metadata intended to be stored per-body, together with data intended to be stored for each species for each body.
NOTE: If you are adding new body kind and it should be spawned via /spawn
please add it to [ENTITIES](crate::cmd::ENTITIES)
Fields§
§humanoid: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§quadruped_small: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§quadruped_medium: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§bird_medium: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§fish_medium: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§dragon: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§bird_large: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§fish_small: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§biped_large: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§biped_small: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§object: BodyData<BodyMeta, ()>§item: BodyData<BodyMeta, ()>§golem: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§theropod: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§quadruped_low: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§ship: BodyData<BodyMeta, ()>§arthropod: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§crustacean: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>§plugin: BodyData<BodyMeta, AllSpecies<SpeciesMeta>>Implementations§
Source§impl<BodyMeta, SpeciesMeta> AllBodies<BodyMeta, SpeciesMeta>
impl<BodyMeta, SpeciesMeta> AllBodies<BodyMeta, SpeciesMeta>
Sourcepub fn get_species_meta<'a>(&'a self, body: &Body) -> Option<&'a SpeciesMeta>
pub fn get_species_meta<'a>(&'a self, body: &Body) -> Option<&'a SpeciesMeta>
Get species meta associated with the body.
Returns None if the body doesn’t have any associated meta, i.e ships,
objects, items.
Source§impl AllBodies<BodyNames, SpeciesNames>
impl AllBodies<BodyNames, SpeciesNames>
pub fn get_default_name(&self, body: &Body) -> Option<Content>
Trait Implementations§
Source§impl<'de, BodyMeta, SpeciesMeta> Deserialize<'de> for AllBodies<BodyMeta, SpeciesMeta>where
BodyMeta: Deserialize<'de>,
SpeciesMeta: Deserialize<'de>,
impl<'de, BodyMeta, SpeciesMeta> Deserialize<'de> for AllBodies<BodyMeta, SpeciesMeta>where
BodyMeta: Deserialize<'de>,
SpeciesMeta: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<BodyMeta: Send + Sync + for<'de> Deserialize<'de> + 'static, SpeciesMeta: Send + Sync + for<'de> Deserialize<'de> + 'static> FileAsset for AllBodies<BodyMeta, SpeciesMeta>
impl<BodyMeta: Send + Sync + for<'de> Deserialize<'de> + 'static, SpeciesMeta: Send + Sync + for<'de> Deserialize<'de> + 'static> FileAsset for AllBodies<BodyMeta, SpeciesMeta>
Source§const EXTENSION: &'static str = "ron"
const EXTENSION: &'static str = "ron"
Use this field if your asset only uses one extension. Read more
Source§fn from_bytes(bytes: Cow<'_, [u8]>) -> Result<Self, BoxedError>
fn from_bytes(bytes: Cow<'_, [u8]>) -> Result<Self, BoxedError>
Creates a value of this type from raw bytes.
§const EXTENSIONS: &'static [&'static str] = _
const EXTENSIONS: &'static [&'static str] = _
This field enables you to specify multiple extension for an asset. Read more
§fn default_value(
id: &SharedString,
error: Box<dyn Error + Sync + Send>,
) -> Result<Self, Box<dyn Error + Sync + Send>>
fn default_value( id: &SharedString, error: Box<dyn Error + Sync + Send>, ) -> Result<Self, Box<dyn Error + Sync + Send>>
Specifies a eventual default value to use if an asset fails to load. If
this method returns
Ok, the returned value is used as an asset. In
particular, if this method always returns Ok, AssetCache::load is
guaranteed not to fail. Read more§const HOT_RELOADED: bool = true
const HOT_RELOADED: bool = true
If
false, disables hot-reloading of assets of this type (true by
default).Source§impl<BodyMeta, SpeciesMeta> Index<&Body> for AllBodies<BodyMeta, SpeciesMeta>
Can only retrieve body metadata by direct index.
impl<BodyMeta, SpeciesMeta> Index<&Body> for AllBodies<BodyMeta, SpeciesMeta>
Can only retrieve body metadata by direct index.
Auto Trait Implementations§
impl<BodyMeta, SpeciesMeta> Freeze for AllBodies<BodyMeta, SpeciesMeta>
impl<BodyMeta, SpeciesMeta> RefUnwindSafe for AllBodies<BodyMeta, SpeciesMeta>where
BodyMeta: RefUnwindSafe,
SpeciesMeta: RefUnwindSafe,
impl<BodyMeta, SpeciesMeta> Send for AllBodies<BodyMeta, SpeciesMeta>
impl<BodyMeta, SpeciesMeta> Sync for AllBodies<BodyMeta, SpeciesMeta>
impl<BodyMeta, SpeciesMeta> Unpin for AllBodies<BodyMeta, SpeciesMeta>
impl<BodyMeta, SpeciesMeta> UnwindSafe for AllBodies<BodyMeta, SpeciesMeta>where
BodyMeta: UnwindSafe,
SpeciesMeta: UnwindSafe,
Blanket Implementations§
§impl<T> Asset for Twhere
T: Compound,
impl<T> Asset for Twhere
T: Compound,
§const HOT_RELOADED: bool = <T as Compound>::HOT_RELOADED
const HOT_RELOADED: bool = <T as Compound>::HOT_RELOADED
If
false, disable hot-reloading for assets of this type (true by
default). This avoids having to lock the asset to read it (ie it makes
[Handle::read] a noop)§impl<T> AssetExt for Twhere
T: Asset,
impl<T> AssetExt for Twhere
T: Asset,
§fn load(specifier: &str) -> Result<&'static Handle<T>, Error>
fn load(specifier: &str) -> Result<&'static Handle<T>, Error>
Function used to load assets from the filesystem or the cache.
Example usage: Read more
fn load_owned(specifier: &str) -> Result<T, Error>
fn get_or_insert(specifier: &str, default: T) -> &'static Handle<T>
§fn load_cloned(specifier: &str) -> Result<Self, Error>where
Self: Clone,
fn load_cloned(specifier: &str) -> Result<Self, Error>where
Self: Clone,
Function used to load assets from the filesystem or the cache and return
a clone.
fn load_or_insert_with( specifier: &str, default: impl FnOnce(Error) -> Self, ) -> &'static Handle<Self>
§fn load_expect(specifier: &str) -> &'static Handle<Self>
fn load_expect(specifier: &str) -> &'static Handle<Self>
Function used to load essential assets from the filesystem or the cache.
It will panic if the asset is not found. Example usage: Read more
§fn load_expect_cloned(specifier: &str) -> Selfwhere
Self: Clone,
fn load_expect_cloned(specifier: &str) -> Selfwhere
Self: Clone,
Function used to load essential assets from the filesystem or the cache
and return a clone. It will panic if the asset is not found.
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> Compound for Twhere
T: FileAsset,
impl<T> Compound for Twhere
T: FileAsset,
§const HOT_RELOADED: bool = Self::HOT_RELOADED
const HOT_RELOADED: bool = Self::HOT_RELOADED
👎Deprecated: Use
Asset insteadIf
false, disable hot-reloading for assets of this type (true by
default). This avoids having to lock the asset to read it (ie it makes
[Handle::read] a noop)§impl<C, M> ConvertSaveload<M> for C
impl<C, M> ConvertSaveload<M> for C
§type Error = Infallible
type Error = Infallible
Error may occur during serialization or deserialization of component
§fn convert_into<F>(
&self,
_: F,
) -> Result<<C as ConvertSaveload<M>>::Data, <C as ConvertSaveload<M>>::Error>
fn convert_into<F>( &self, _: F, ) -> Result<<C as ConvertSaveload<M>>::Data, <C as ConvertSaveload<M>>::Error>
Convert this data type into serializable form (
Data) using
entity to marker mapping function§fn convert_from<F>(
data: <C as ConvertSaveload<M>>::Data,
_: F,
) -> Result<C, <C as ConvertSaveload<M>>::Error>
fn convert_from<F>( data: <C as ConvertSaveload<M>>::Data, _: F, ) -> Result<C, <C as ConvertSaveload<M>>::Error>
Convert this data from a deserializable form (
Data) using
entity to marker mapping function§impl<T> DirLoadable for Twhere
T: FileAsset,
impl<T> DirLoadable for Twhere
T: FileAsset,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more