everything is broken

This commit is contained in:
2024-03-30 21:32:12 -04:00
parent 402b8eb93c
commit b7853beb88
7 changed files with 359 additions and 201 deletions

View File

@@ -1,5 +1,7 @@
pub mod prelude {
use crate::hex_utils::HexCoord;
use bevy::math::IVec2;
use bevy::prelude::Resource;
pub struct GenerationConfig {
pub noise_scale: f64,
@@ -26,24 +28,33 @@ pub mod prelude {
impl Chunk {
pub const SIZE: usize = 32;
}
#[derive(Resource)]
pub struct Map {
pub chunks: Vec<Chunk>,
pub height: usize,
pub width: usize,
}
impl Map {
pub fn get_neighbors(&self, pos: &HexCoord) -> [Option<f32>; 6] {
let mut results: [Option<f32>; 6] = [None; 6];
let n_tiles = pos.get_neighbors();
for i in 0..6 {
let n_tile = n_tiles[i];
if !n_tile.is_in_bounds(self.height, self.width) {
continue;
}
let c_idx = n_tile.to_chunk_index(self.width);
let chunk = &self.chunks[c_idx as usize];
let local = n_tile.to_chunk_local_index();
results[i] = (Some(chunk.points[local as usize]));
}
return results;
}
}
}
pub mod heightmap;
pub mod hex_utils;
pub mod mesh_generator;
#[cfg(test)]
mod tests {
use super::*;
// #[test]
// fn it_works() {
// let result = add(2, 2);
// assert_eq!(result, 4);
// }
}