From 350c74bc8ef61833be11bbb2bab6747245e3ae0d Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Sun, 23 Aug 2026 00:38:32 -0700 Subject: refactor out content --- src/content/entities/entity_cube.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/content/entities/entity_cube.rs (limited to 'src/content/entities/entity_cube.rs') diff --git a/src/content/entities/entity_cube.rs b/src/content/entities/entity_cube.rs new file mode 100644 index 0000000..ab93e5e --- /dev/null +++ b/src/content/entities/entity_cube.rs @@ -0,0 +1,30 @@ +use glam::{IVec2, Vec2}; + +use crate::{ + content::materials::MaterialId, + sim::{ + cell::cell::Cell, + entity::{EntityCells, EntityDef}, + }, +}; + +pub fn entity_cube_def(position: Vec2, material: MaterialId) -> EntityDef { + let w = 10; + let h = 10; + let mut raw_cells = vec![Cell::void(); (w * h) as usize]; + + for x in 0..w { + for y in 0..h { + let cell_idx = x + y * w; + raw_cells[cell_idx as usize] = Cell::from_material(material); + raw_cells[cell_idx as usize].set_entity(true); + } + } + + let entity_cells = EntityCells { + cells: raw_cells, + size: IVec2::new(w, h), + }; + + EntityDef::from_cells(position, entity_cells, None) +} -- cgit v1.3.1