summaryrefslogtreecommitdiff
path: root/src/sim/cell_manager/chunk.rs
diff options
context:
space:
mode:
authorKai Stevenson <kai@kaistevenson.com>2026-08-23 13:03:23 -0700
committerKai Stevenson <kai@kaistevenson.com>2026-08-23 13:03:23 -0700
commitc4c26f03e3eb18a76f9c2756076030dc52a667fa (patch)
tree9c8c999772523bc6cd68b300a0ad516fb3aad1d3 /src/sim/cell_manager/chunk.rs
parentc2d6115403b244f05ccd45ba9edc16b050cf3772 (diff)
add floor
Diffstat (limited to 'src/sim/cell_manager/chunk.rs')
-rw-r--r--src/sim/cell_manager/chunk.rs20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/sim/cell_manager/chunk.rs b/src/sim/cell_manager/chunk.rs
index 463242d..f077233 100644
--- a/src/sim/cell_manager/chunk.rs
+++ b/src/sim/cell_manager/chunk.rs
@@ -2,7 +2,7 @@ use glam::IVec2;
use crate::{
config::{CELLS_IN_CHUNK, CHUNK_SIZE},
- content::materials::MaterialForm,
+ content::materials::{MaterialForm, MaterialId},
sim::{cell::Cell, lib::marching_squares::Marchable},
};
@@ -29,6 +29,24 @@ impl Chunk {
needs_texture_update: true,
}
}
+
+ pub fn floor() -> Self {
+ let mut c = Chunk {
+ cells: Box::new([Cell::void(); CELLS_IN_CHUNK]),
+ sleeping: true,
+ needs_texture_update: true,
+ };
+
+ for x in 0..CHUNK_SIZE {
+ c.set_cell_at_local_position(
+ x as u8,
+ CHUNK_SIZE as u8 - 1,
+ Cell::from_material(MaterialId::Steel),
+ );
+ }
+
+ c
+ }
}
impl Marchable for Chunk {