Struct veloren_common_net::synced_components::inner::body::AllBodies
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_drop: 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: Deliberately don’t (yet?) implement serialize.
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_drop: 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§
§impl<BodyMeta, SpeciesMeta> AllBodies<BodyMeta, SpeciesMeta>
impl<BodyMeta, SpeciesMeta> AllBodies<BodyMeta, SpeciesMeta>
pub 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, itemdrops.
Trait Implementations§
§impl<BodyMeta, SpeciesMeta> Asset for AllBodies<BodyMeta, SpeciesMeta>where
BodyMeta: Send + Sync + for<'de> Deserialize<'de> + 'static,
SpeciesMeta: Send + Sync + for<'de> Deserialize<'de> + 'static,
impl<BodyMeta, SpeciesMeta> Asset for AllBodies<BodyMeta, SpeciesMeta>where
BodyMeta: Send + Sync + for<'de> Deserialize<'de> + 'static,
SpeciesMeta: Send + Sync + for<'de> Deserialize<'de> + 'static,
§const EXTENSION: &'static str = "ron"
const EXTENSION: &'static str = "ron"
Use this field if your asset only uses one extension. Read more
§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 + Send + Sync>,
) -> Result<Self, Box<dyn Error + Send + Sync>>
fn default_value( id: &SharedString, error: Box<dyn Error + Send + Sync>, ) -> Result<Self, Box<dyn Error + Send + Sync>>
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
, 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<'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>,
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AllBodies<BodyMeta, SpeciesMeta>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AllBodies<BodyMeta, SpeciesMeta>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl<'a, BodyMeta, SpeciesMeta> Index<&'a Body> for AllBodies<BodyMeta, SpeciesMeta>
impl<'a, BodyMeta, SpeciesMeta> Index<&'a 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> AssetExt for Twhere
T: Compound,
impl<T> AssetExt for Twhere
T: Compound,
§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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Compound for Twhere
T: Asset,
impl<T> Compound for Twhere
T: Asset,
§fn load(
cache: AnyCache<'_>,
id: &SharedString,
) -> Result<T, Box<dyn Error + Send + Sync>>
fn load( cache: AnyCache<'_>, id: &SharedString, ) -> Result<T, Box<dyn Error + Send + Sync>>
Loads an asset from the cache. Read more
§const HOT_RELOADED: bool = Self::HOT_RELOADED
const HOT_RELOADED: bool = Self::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> DirLoadable for Twhere
T: Asset,
impl<T> DirLoadable for Twhere
T: Asset,
§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