diff --git a/src/hexmap.rs b/src/hexmap.rs index d2edb63..73f73cf 100644 --- a/src/hexmap.rs +++ b/src/hexmap.rs @@ -1,33 +1,28 @@ use crate::Vec2; //odd-q vertical layout https://www.redblobgames.com/grids/hexagons -pub struct HexMap { +pub struct HexMap { size: Vec2, - data: Vec, + data: Vec, tile_size: Vec2, } -impl HexMap { +impl HexMap { //pub static pub fn new(size: Vec2, tile_size: Vec2) -> Self { HexMap { size, - data: vec![T::default(); size.size()], + data: vec![0; size.size()], tile_size, } } //pub - pub fn get(&self, coord: Vec2) -> &T { - &self.data[self.coord_to_idx(coord)] + pub fn get(&self, coord: Vec2) -> i32 { + self.data[self.coord_to_idx(coord)] } - pub fn get_mut(&mut self, coord: Vec2) -> &mut T { - let idx = self.coord_to_idx(coord); - &mut self.data[idx] - } - - pub fn set(&mut self, coord: Vec2, val: T) { + pub fn set(&mut self, coord: Vec2, val: i32) { let idx = self.coord_to_idx(coord); self.data[idx] = val; } diff --git a/src/lib.rs b/src/lib.rs index 38f3ec6..4dea454 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,6 +3,7 @@ mod image; mod rect; mod vec2; mod window; +mod tileset; pub use hexmap::*; pub use image::*; diff --git a/src/tileset.rs b/src/tileset.rs new file mode 100644 index 0000000..ab745fe --- /dev/null +++ b/src/tileset.rs @@ -0,0 +1,7 @@ +use crate::{Image, Vec2}; + +struct Tileset { + count: i32, + size: Vec2, + images: Vec, +}