Struct veloren_common::recipe::ComponentRecipe
source · pub struct ComponentRecipe {
output: ComponentOutput,
material: (RecipeInput, u32),
modifier: Option<(RecipeInput, u32)>,
additional_inputs: Vec<(RecipeInput, u32)>,
pub craft_sprite: Option<SpriteKind>,
}
Fields§
§output: ComponentOutput
§material: (RecipeInput, u32)
§modifier: Option<(RecipeInput, u32)>
§additional_inputs: Vec<(RecipeInput, u32)>
§craft_sprite: Option<SpriteKind>
Implementations§
source§impl ComponentRecipe
impl ComponentRecipe
sourcepub fn craft_component(
&self,
inv: &mut Inventory,
material_slot: InvSlotId,
modifier_slot: Option<InvSlotId>,
slots: Vec<(u32, InvSlotId)>,
ability_map: &AbilityMap,
msm: &MaterialStatManifest
) -> Result<Vec<Item>, Vec<(&RecipeInput, u32)>>
pub fn craft_component( &self, inv: &mut Inventory, material_slot: InvSlotId, modifier_slot: Option<InvSlotId>, slots: Vec<(u32, InvSlotId)>, ability_map: &AbilityMap, msm: &MaterialStatManifest ) -> Result<Vec<Item>, Vec<(&RecipeInput, u32)>>
Craft an item that has components, returning a list of missing items on failure
sourcepub fn inventory_contains_additional_ingredients(
&self,
inv: &Inventory
) -> Result<Vec<(u32, InvSlotId)>, Vec<(&RecipeInput, u32)>>
pub fn inventory_contains_additional_ingredients( &self, inv: &Inventory ) -> Result<Vec<(u32, InvSlotId)>, Vec<(&RecipeInput, u32)>>
Determine whether the inventory contains the additional ingredients for a component recipe. If it does, return a vec of inventory slots that contain the ingredients needed, whose positions correspond to particular recipe are missing.
pub fn itemdef_output(&self) -> ItemDefinitionIdOwned
pub fn item_output( &self, ability_map: &AbilityMap, msm: &MaterialStatManifest ) -> Item
pub fn inputs(&self) -> impl ExactSizeIterator<Item = (&RecipeInput, u32)>
Trait Implementations§
source§impl Clone for ComponentRecipe
impl Clone for ComponentRecipe
source§fn clone(&self) -> ComponentRecipe
fn clone(&self) -> ComponentRecipe
Returns a copy 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 ComponentRecipe
impl Debug for ComponentRecipe
source§impl<'de> Deserialize<'de> for ComponentRecipe
impl<'de> Deserialize<'de> for ComponentRecipe
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<'a> IntoIterator for &'a ComponentRecipe
impl<'a> IntoIterator for &'a ComponentRecipe
Auto Trait Implementations§
impl RefUnwindSafe for ComponentRecipe
impl Send for ComponentRecipe
impl Sync for ComponentRecipe
impl Unpin for ComponentRecipe
impl UnwindSafe for ComponentRecipe
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
§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