diff options
| author | troido <troido@protonmail.com> | 2020-03-05 14:47:48 +0100 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-03-05 14:47:48 +0100 |
| commit | a520382eb19e4234ed52fd1eb9fb965b5967d522 (patch) | |
| tree | 5b4a8831cd544f57c6119eac5785973dc9e9bd50 /src/components/equipment.rs | |
| parent | 7846b871f5c9d57a19dbf09b7acbf0d6b38a69ca (diff) | |
equipment is now a part of the inventory
Diffstat (limited to 'src/components/equipment.rs')
| -rw-r--r-- | src/components/equipment.rs | 29 |
1 files changed, 1 insertions, 28 deletions
diff --git a/src/components/equipment.rs b/src/components/equipment.rs index 1d86e95..94a440b 100644 --- a/src/components/equipment.rs +++ b/src/components/equipment.rs @@ -86,36 +86,9 @@ impl Equippable { #[derive(Component, Debug, Clone)] #[storage(HashMapStorage)] pub struct Equipment { - pub equipment: HashMap<Slot, Option<Equippable>> + pub slots: Vec<Slot> } -impl Equipment { - pub fn get_bonus(&self, stat: Stat) -> i64 { - let mut bonus = 0; - for v in self.equipment.values() { - if let Some(equippable) = v { - if let Some(s) = equippable.stats.get(&stat) { - bonus += s; - } - } - } - bonus - } - pub fn all_bonuses(&self) -> HashMap<Stat, i64> { - let mut bonuses: HashMap<Stat, i64> = HashMap::new(); - for v in self.equipment.values() { - if let Some(equippable) = v { - for (stat, s) in equippable.stats.iter(){ - let current: i64 = *bonuses.entry(*stat).or_insert(0); - bonuses.insert(*stat, current + s); - } - } - } - bonuses - } -} - - #[cfg(test)] mod tests { use super::*; |
