add hexmap coord_to_pixel
This commit is contained in:
parent
6fc78f924c
commit
1e80472c96
|
@ -53,6 +53,21 @@ impl HexMap {
|
||||||
Vec2 { x, y }
|
Vec2 { x, y }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn coord_to_pixel(&self, coord: Vec2<i32>) -> Vec2<i32> {
|
||||||
|
Vec2 {
|
||||||
|
x: coord.x * self.pix_tile_off.x,
|
||||||
|
y: coord.y * self.tileset.tile_size().y + (coord.x % 2) * self.pix_tile_off.y,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn coord_to_pixel_center(&self, coord: Vec2<i32>) -> Vec2<i32> {
|
||||||
|
let tilesize = self.tileset.tile_size();
|
||||||
|
self.coord_to_pixel(Vec2 {
|
||||||
|
x: coord.x + tilesize.x / 2,
|
||||||
|
y: coord.y + tilesize.y / 2,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
pub fn set(&mut self, coord: Vec2<i32>, val: i32) {
|
pub fn set(&mut self, coord: Vec2<i32>, val: i32) {
|
||||||
let idx = self.coord_to_idx(coord);
|
let idx = self.coord_to_idx(coord);
|
||||||
self.data[idx] = val;
|
self.data[idx] = val;
|
||||||
|
@ -69,10 +84,8 @@ impl HexMap {
|
||||||
coord: Vec2<i32>,
|
coord: Vec2<i32>,
|
||||||
offset: Vec2<i32>,
|
offset: Vec2<i32>,
|
||||||
) {
|
) {
|
||||||
let x = coord.x * self.pix_tile_off.x;
|
|
||||||
let y = coord.y * self.tileset.tile_size().y + (coord.x % 2) * self.pix_tile_off.y;
|
|
||||||
target.draw_image(
|
target.draw_image(
|
||||||
Vec2 { x, y } + offset,
|
self.coord_to_pixel(coord) + offset,
|
||||||
self.tileset.get(self.data[self.coord_to_idx(coord)]),
|
self.tileset.get(self.data[self.coord_to_idx(coord)]),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue