building queue

This commit is contained in:
2024-06-28 20:28:57 -04:00
parent daa2f0bcc9
commit 805f50e40f
5 changed files with 28 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
use crate::prelude::Chunk; use crate::prelude::Chunk;
use bevy::prelude::*; use bevy::prelude::*;
use serde::{Deserialize, Serialize};
pub const OUTER_RADIUS: f32 = 1.; pub const OUTER_RADIUS: f32 = 1.;
pub const INNER_RADIUS: f32 = OUTER_RADIUS * (SQRT_3 / 2.); pub const INNER_RADIUS: f32 = OUTER_RADIUS * (SQRT_3 / 2.);
@@ -56,7 +57,7 @@ pub fn get_tile_count(radius: usize) -> usize {
return 1 + 3 * (radius + 1) * radius; return 1 + 3 * (radius + 1) * radius;
} }
#[derive(Default, Debug, Clone, Copy, Eq, PartialEq)] #[derive(Default, Debug, Clone, Copy, Eq, PartialEq, Serialize, Deserialize)]
pub struct HexCoord { pub struct HexCoord {
pub hex: IVec3, pub hex: IVec3,
} }

View File

@@ -0,0 +1,20 @@
use shared::building::BuildingIdentifier;
use world_generation::hex_utils::HexCoord;
pub struct BuildQueue {
pub queue: Vec<QueueEntry>,
}
impl Default for BuildQueue {
fn default() -> Self {
Self {
queue: Default::default(),
}
}
}
#[derive(PartialEq, Eq)]
pub struct QueueEntry {
pub building: BuildingIdentifier,
pub pos: HexCoord,
}

View File

@@ -1,6 +1,6 @@
pub mod assets; pub mod assets;
pub mod build_queue;
pub mod building_plugin; pub mod building_plugin;
pub mod buildings_database; pub mod buildings_database;
pub mod footprint; pub mod footprint;
pub use building_plugin::*; pub use building_plugin::*;

View File

@@ -0,0 +1,4 @@
use serde::{Deserialize, Serialize};
#[derive(Default, PartialEq, Eq, Serialize, Deserialize)]
pub struct BuildingIdentifier(u32);

View File

@@ -1,3 +1,4 @@
pub mod building;
pub mod despawn; pub mod despawn;
pub mod resource; pub mod resource;
pub mod states; pub mod states;