Browse Source

dont delete items when unequipping

pbs
andy 4 years ago
parent
commit
6c33c7ec9b
  1. 6
      src/ship/items/inventory.rs
  2. 6
      src/ship/items/manager.rs

6
src/ship/items/inventory.rs

@ -336,7 +336,11 @@ impl<'a> InventoryItemHandle<'a> {
}))
}
}
}
}
pub fn get_slot(&self) -> usize {
self.slot
}
}

6
src/ship/items/manager.rs

@ -903,11 +903,12 @@ impl ItemManager {
-> Result<(), ItemManagerError> {
let inventory = self.character_inventory.get_mut(&character.id).ok_or(ItemManagerError::NoCharacter(character.id))?;
let mut inventory_item_handle = inventory.get_item_handle_by_id(item_id).ok_or(ItemManagerError::NoSuchItemId(item_id))?;
let slot = inventory_item_handle.get_slot();
let inventory_item = inventory_item_handle.item_mut().ok_or(ItemManagerError::CannotGetMutItem)?.individual().ok_or(ItemManagerError::CannotGetIndividualItem)?;
inventory_item.equipped = true;
entity_gateway.change_item_location(&inventory_item.entity_id, ItemLocation::Inventory{
character_id: character.id,
slot: character.slot as usize,
slot: slot,
equipped: true,
}).await;
@ -922,11 +923,12 @@ impl ItemManager {
-> Result<(), ItemManagerError> {
let inventory = self.character_inventory.get_mut(&character.id).ok_or(ItemManagerError::NoCharacter(character.id))?;
let mut inventory_item_handle = inventory.get_item_handle_by_id(item_id).ok_or(ItemManagerError::NoSuchItemId(item_id))?;
let slot = inventory_item_handle.get_slot();
let inventory_item = inventory_item_handle.item_mut().ok_or(ItemManagerError::CannotGetMutItem)?.individual().ok_or(ItemManagerError::CannotGetIndividualItem)?;
inventory_item.equipped = false;
entity_gateway.change_item_location(&inventory_item.entity_id, ItemLocation::Inventory{
character_id: character.id,
slot: character.slot as usize,
slot: slot,
equipped: false,
}).await;

Loading…
Cancel
Save