Browse Source

Switch to using carpet::Coord instead of Pos

Getty Ritter 4 years ago
parent
commit
08161e229c
1 changed files with 5 additions and 10 deletions
  1. 5 10
      ch4/src/main.rs

+ 5 - 10
ch4/src/main.rs

@@ -3,6 +3,7 @@ extern crate specs_derive;
 #[macro_use]
 extern crate specs_system_macro;
 
+use carpet::Coord;
 use ggez::GameError;
 use specs::prelude::*;
 use rand::Rng;
@@ -80,12 +81,6 @@ impl Map {
     }
 }
 
-#[derive(Component)]
-pub struct Pos {
-    x: usize,
-    y: usize,
-}
-
 #[derive(Component)]
 pub struct Renderable {
     glyph: carpet::CP437,
@@ -120,7 +115,7 @@ system_impl! {
         resource mut game_board: carpet::GameBoard<carpet::CP437>,
         resource map: Map,
         renderable: Renderable,
-        pos: Pos,
+        pos: Coord,
     ) {
         game_board.clear();
         for (x, y, t) in map.tiles.iter() {
@@ -136,7 +131,7 @@ system! {
     Move (
         resource map: Map,
         mut motion: Motion,
-        mut pos: Pos,
+        mut pos: Coord,
     ) {
         let tgt_x = (pos.x as i8 + motion.right) as usize;
         let tgt_y = (pos.y as i8 + motion.down) as usize;
@@ -165,7 +160,7 @@ fn main() -> Result<(), GameError> {
         .map_size(80, 50)
         .build()?;
 
-    game.register::<Pos>();
+    game.register::<Coord>();
     game.register::<Renderable>();
     game.register::<Motion>();
     game.register::<Player>();
@@ -175,7 +170,7 @@ fn main() -> Result<(), GameError> {
     game.insert(map);
 
     game.create_entity()
-        .with(Pos { x: player_start.x, y: player_start.y })
+        .with(player_start)
         .with(Player)
         .with(Renderable {
             glyph: carpet::CP437::from_char('@'),