pub struct PickupItem {
    items: Vec<Item>,
    created_at: ProgramTime,
    next_merge_check: ProgramTime,
    pub should_merge: bool,
}Fields§
§items: Vec<Item>§created_at: ProgramTime§next_merge_check: ProgramTime§should_merge: boolWhen set to true, this item will actively try to be merged into nearby
items of the same kind (see Item::can_merge). Currently only used
for inventory dropped items to prevent entity DoS.
Implementations§
Source§impl PickupItem
 
impl PickupItem
pub fn new(item: Item, time: ProgramTime, should_merge: bool) -> PickupItem
Sourcepub fn item(&self) -> &Item
 
pub fn item(&self) -> &Item
Get a reference to the last item in this stack
The amount of this item should not be used.
pub fn created(&self) -> ProgramTime
pub fn next_merge_check(&self) -> ProgramTime
pub fn next_merge_check_mut(&mut self) -> &mut ProgramTime
pub fn amount(&self) -> u32
Sourcepub fn remove_debug_items(&mut self)
 
pub fn remove_debug_items(&mut self)
Remove any debug items if this is a container, used before dropping an item from an inventory
pub fn can_merge(&self, other: &PickupItem) -> bool
pub fn try_merge(&mut self, other: PickupItem) -> Result<(), PickupItem>
pub fn pick_up(self) -> (Item, Option<PickupItem>)
Trait Implementations§
Source§impl Clone for PickupItem
 
impl Clone for PickupItem
Source§fn clone(&self) -> PickupItem
 
fn clone(&self) -> PickupItem
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 Component for PickupItem
 
impl Component for PickupItem
Source§type Storage = DerefFlaggedStorage<PickupItem>
 
type Storage = DerefFlaggedStorage<PickupItem>
Associated storage type for this component.
Source§impl Debug for PickupItem
 
impl Debug for PickupItem
Source§impl<'de> Deserialize<'de> for PickupItem
 
impl<'de> Deserialize<'de> for PickupItem
Source§fn deserialize<__D>(
    __deserializer: __D,
) -> Result<PickupItem, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(
    __deserializer: __D,
) -> Result<PickupItem, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<PickupItem> for EcsCompPacket
 
impl From<PickupItem> for EcsCompPacket
Source§fn from(other: PickupItem) -> EcsCompPacket
 
fn from(other: PickupItem) -> EcsCompPacket
Converts to this type from the input type.
Source§impl ItemDesc for PickupItem
 
impl ItemDesc for PickupItem
Source§fn description(&self) -> &str
 
fn description(&self) -> &str
👎Deprecated: since item i18n
fn kind(&self) -> Cow<'_, ItemKind>
fn amount(&self) -> NonZero<u32>
fn quality(&self) -> Quality
fn num_slots(&self) -> u16
fn item_definition_id(&self) -> ItemDefinitionId<'_>
fn is_modular(&self) -> bool
fn components(&self) -> &[Item]
fn has_durability(&self) -> bool
fn durability_lost(&self) -> Option<u32>
fn stats_durability_multiplier(&self) -> DurabilityMultiplier
fn tool_info(&self) -> Option<ToolKind>
Source§impl NetSync for PickupItem
 
impl NetSync for PickupItem
Source§const SYNC_FROM: SyncFrom = SyncFrom::AnyEntity
 
const SYNC_FROM: SyncFrom = SyncFrom::AnyEntity
Determines what for entities this component is synced to the client. Read more
Source§fn pre_insert(&mut self, world: &World)
 
fn pre_insert(&mut self, world: &World)
Allows making modifications before the synced component is inserted on
the client.
Source§fn pre_modify(&mut self, world: &World)
 
fn pre_modify(&mut self, world: &World)
Allows making modifications before the synced component is overwritten
with this version on the client.
Source§impl Serialize for PickupItem
 
impl Serialize for PickupItem
Source§fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
 
fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl TryFrom<EcsCompPacket> for PickupItem
 
impl TryFrom<EcsCompPacket> for PickupItem
Source§fn try_from(other: EcsCompPacket) -> Result<PickupItem, Self::Error>
 
fn try_from(other: EcsCompPacket) -> Result<PickupItem, Self::Error>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for PickupItem
impl !RefUnwindSafe for PickupItem
impl Send for PickupItem
impl Sync for PickupItem
impl Unpin for PickupItem
impl !UnwindSafe for PickupItem
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<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> 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