From 48c24ec8b011d081550dc78329cbe61de67b30e9 Mon Sep 17 00:00:00 2001 From: troido Date: Sun, 5 Apr 2020 20:04:33 +0200 Subject: items are now mostly replaced by itemids, with a mapping to the item in the encyclopedia --- src/systems/take.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/systems/take.rs') diff --git a/src/systems/take.rs b/src/systems/take.rs index 9eb76e7..5a86269 100644 --- a/src/systems/take.rs +++ b/src/systems/take.rs @@ -14,6 +14,7 @@ use crate::components::{ Position, Removed, Inventory, + inventory::InventoryEntry, Item, Visible }; @@ -50,7 +51,11 @@ impl <'a> System<'a> for Take { } for ent in ents { if let Some(item) = items.get(ent) { - inventory.items.insert(0, (item.clone(), false)); + inventory.items.insert(0, InventoryEntry{ + itemid: item.0.clone(), + item: new.encyclopedia.get_item(&item.0).unwrap(), + is_equipped: false + }); if let Err(msg) = removed.insert(ent, Removed) { println!("{:?}", msg); } @@ -62,8 +67,8 @@ impl <'a> System<'a> for Take { if *rank >= inventory.items.len() { return } - let (item, _is_equipped) = inventory.items.remove(*rank); - let _ = new.create(position.pos, &item.ent); + let entry = inventory.items.remove(*rank); + let _ = new.create(position.pos, &entry.item.ent); } _ => {} } -- cgit