From ced37025a37051db896443d310f5f613f1281882 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Wed, 10 Jul 2019 09:43:48 -0500 Subject: animation now always works, added player spawn --- src/map.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/map.rs') diff --git a/src/map.rs b/src/map.rs index 8ef6f4e..124125a 100644 --- a/src/map.rs +++ b/src/map.rs @@ -61,7 +61,7 @@ impl Map { }) .collect(); - let spawns = Map::get_spawn_points(&layers, tileset.get_spawn_tiles()); + let spawns = Map::find_spawn_points(&layers, tileset.get_spawn_tiles()); Map { layers, @@ -70,7 +70,7 @@ impl Map { } } - fn get_spawn_points( + fn find_spawn_points( layers: &[Layer], spawn_tiles: HashMap, ) -> Vec<(String, Point2)> { @@ -90,8 +90,13 @@ impl Map { spawn_points } - pub fn get_spawns(&self) -> Vec<(String, Point2)> { - self.spawns.clone() + pub fn get_spawn_points(&self, name: &str) -> Vec> { + self.spawns + .clone() + .into_iter() + .filter(|s| s.0 == name) + .map(|s| s.1) + .collect() } pub fn get_dimensions(&self) -> (f32, f32) { -- cgit v1.2.3