use glam::{IVec2, Vec2}; use crate::sim::{ cell::{cell::Cell, materials::MaterialId}, 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) }