blob: 2c79aa5f86c98799f1b5d9a33f93ce105d2df94c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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)
}
|