diff options
Diffstat (limited to 'src/state.rs')
| -rw-r--r-- | src/state.rs | 19 | 
1 files changed, 10 insertions, 9 deletions
| diff --git a/src/state.rs b/src/state.rs index a541a02..b705fd4 100644 --- a/src/state.rs +++ b/src/state.rs @@ -3,8 +3,9 @@ use ggez::graphics::{self, spritebatch::SpriteBatch, DrawParam, FilterMode, Imag  use ggez::{filesystem, Context, GameResult};  use crate::camera::Camera; -use crate::entity::Entity; +use crate::entity::Operable;  use crate::map::Map; +use crate::npc::NPC;  use crate::player::Player;  use crate::tileset::Tileset; @@ -13,7 +14,7 @@ pub struct State {      spritebatch: SpriteBatch,      camera: Camera,      player: Player, -    entities: Vec<Entity>, +    npcs: Vec<NPC>,  }  impl State { @@ -32,7 +33,7 @@ impl State {              spritebatch: SpriteBatch::new(image),              camera: Camera::new(context, map_dimensions),              player: Player::new(&tileset, map_dimensions), -            entities: Entity::build_entities(&tileset, &map), +            npcs: NPC::build_npcs(&tileset, &map),          })      }  } @@ -41,10 +42,11 @@ impl EventHandler for State {      fn update(&mut self, _context: &mut Context) -> GameResult {          self.map.update();          self.player.update(); -        for entity in self.entities.iter_mut() { -            entity.update(); +        for npc in self.npcs.iter_mut() { +            npc.update();          } -        self.camera.give_center(self.player.position); + +        self.camera.give_center(self.player.get_position());          Ok(())      } @@ -53,9 +55,8 @@ impl EventHandler for State {          self.map.draw(&mut self.spritebatch);          self.player.draw(&mut self.spritebatch); - -        for entity in &self.entities { -            entity.draw(&mut self.spritebatch); +        for npc in self.npcs.iter_mut() { +            npc.draw(&mut self.spritebatch);          }          graphics::draw( | 
