From 1f85c11d0ebb0a879b7825b8e78e473a77d8b778 Mon Sep 17 00:00:00 2001 From: troido Date: Fri, 21 Feb 2020 19:43:43 +0100 Subject: sprites are not strings anymore --- src/systems/view.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/systems/view.rs') diff --git a/src/systems/view.rs b/src/systems/view.rs index c452b2f..f82ae0a 100644 --- a/src/systems/view.rs +++ b/src/systems/view.rs @@ -11,7 +11,7 @@ use specs::{ Entity }; -use crate::Pos; +use crate::{Pos, Sprite}; use crate::components::{Visible, Player, Position, Inventory, New, Moved, Removed, Health}; use crate::resources::{Size, Output, Ground}; use crate::worldmessages::{WorldMessage, WorldUpdate, FieldMessage}; @@ -51,7 +51,7 @@ impl <'a> System<'a> for View { let has_changed: bool = !changed.is_empty(); - let mut changes: Vec<(Pos, Vec)> = Vec::new(); + let mut changes: Vec<(Pos, Vec)> = Vec::new(); for pos in changed { changes.push((pos, cell_sprites(ground.cells.get(&pos).unwrap_or(&HashSet::new()), &visible))); } @@ -87,20 +87,20 @@ impl <'a> System<'a> for View { } } -fn cell_sprites(entities: &HashSet, visible: &ReadStorage) -> Vec { +fn cell_sprites(entities: &HashSet, visible: &ReadStorage) -> Vec { let mut visibles: Vec<&Visible> = entities.iter().filter_map(|ent| visible.get(*ent)).collect(); visibles.sort_by(|a, b| b.height.partial_cmp(&a.height).unwrap()); visibles.iter().map(|vis| vis.sprite.clone()).collect() } -fn draw_room(ground: &HashMap>, (width, height): (i64, i64), visible: &ReadStorage) -> (Vec, Vec>){ +fn draw_room(ground: &HashMap>, (width, height): (i64, i64), visible: &ReadStorage) -> (Vec, Vec>){ let size = width * height; let mut values :Vec = Vec::with_capacity(size as usize); - let mut mapping: Vec> = Vec::new(); + let mut mapping: Vec> = Vec::new(); for y in 0..height { for x in 0..width { - let sprites: Vec = match ground.get(&Pos{x, y}) { + let sprites: Vec = match ground.get(&Pos{x, y}) { Some(ents) => {cell_sprites(ents, visible)} None => {vec![]} }; -- cgit