pub struct Artifact {
pub template_id: ArtifactTemplateId,
pub level: i64,
pub copies: i64,
}Expand description
The player’s one instance of an artifact template, plus the copies banked against it.
level is 1..=max_artifact_level. Copies are banked by
ArtifactCollection::grant_artifact and spent only by an explicit
ArtifactCollection::upgrade_artifact call.
Fields§
§template_id: ArtifactTemplateId§level: i64§copies: i64Raw copies banked for explicit upgrades. Copies continue accumulating at the cap so duplicate grants are never silently discarded.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Artifact
impl<'de> Deserialize<'de> for Artifact
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 FromWasmAbi for Artifactwhere
Self: DeserializeOwned,
impl FromWasmAbi for Artifactwhere
Self: DeserializeOwned,
Source§impl IntoWasmAbi for Artifact
impl IntoWasmAbi for Artifact
Source§impl JsonSchema for Artifact
impl JsonSchema for Artifact
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreSource§impl OptionFromWasmAbi for Artifactwhere
Self: DeserializeOwned,
impl OptionFromWasmAbi for Artifactwhere
Self: DeserializeOwned,
Source§impl OptionIntoWasmAbi for Artifact
impl OptionIntoWasmAbi for Artifact
Source§impl RefFromWasmAbi for Artifactwhere
Self: DeserializeOwned,
impl RefFromWasmAbi for Artifactwhere
Self: DeserializeOwned,
Source§type Abi = <JsType as RefFromWasmAbi>::Abi
type Abi = <JsType as RefFromWasmAbi>::Abi
The Wasm ABI type references to
Self are recovered from.Source§impl Tsify for Artifact
impl Tsify for Artifact
const DECL: &'static str = "/**\n * The player\\\'s one instance of an artifact template, plus the copies banked\n * against it.\n *\n * `level` is 1..=`max_artifact_level`. Copies are banked by\n * [`ArtifactCollection::grant_artifact`] and spent only by an explicit\n * [`ArtifactCollection::upgrade_artifact`] call.\n */\nexport interface Artifact {\n template_id: ArtifactTemplateId;\n level: number;\n /**\n * Raw copies banked for explicit upgrades. Copies continue accumulating at\n * the cap so duplicate grants are never silently discarded.\n */\n copies: number;\n}"
const SERIALIZATION_CONFIG: SerializationConfig
type JsType = JsType
fn into_js(&self) -> Result<Self::JsType, Error>where
Self: Serialize,
fn from_js<T>(js: T) -> Result<Self, Error>
Source§impl VectorFromWasmAbi for Artifactwhere
Self: DeserializeOwned,
impl VectorFromWasmAbi for Artifactwhere
Self: DeserializeOwned,
type Abi = <JsType as VectorFromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Self]>
Source§impl VectorIntoWasmAbi for Artifact
impl VectorIntoWasmAbi for Artifact
type Abi = <JsType as VectorIntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[Self]>) -> Self::Abi
impl Eq for Artifact
impl StructuralPartialEq for Artifact
Auto Trait Implementations§
impl Freeze for Artifact
impl RefUnwindSafe for Artifact
impl Send for Artifact
impl Sync for Artifact
impl Unpin for Artifact
impl UnwindSafe for Artifact
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> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§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> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
Same as
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
Same as
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.