map color update
This commit is contained in:
parent
2d793f5f6c
commit
e5b2e51a29
14
src/map.rs
14
src/map.rs
@ -65,7 +65,7 @@ fn setup(
|
|||||||
} else if z <= 0.52 {
|
} else if z <= 0.52 {
|
||||||
CellKind::Beach
|
CellKind::Beach
|
||||||
} else if z < 0.8 {
|
} else if z < 0.8 {
|
||||||
CellKind::Dirt
|
CellKind::Grass
|
||||||
} else {
|
} else {
|
||||||
CellKind::Stone
|
CellKind::Stone
|
||||||
};
|
};
|
||||||
@ -77,7 +77,7 @@ fn setup(
|
|||||||
let mut colors = Vec::new();
|
let mut colors = Vec::new();
|
||||||
let mut indices = Vec::new();
|
let mut indices = Vec::new();
|
||||||
|
|
||||||
for (c, cd) in voronoi.iter_cells().zip(cells_data.iter_mut()).filter(|(_,cd)| cd.kind != CellKind::Forest) {
|
for (c, mut cd) in voronoi.iter_cells().zip(cells_data).filter(|(_,cd)| cd.kind != CellKind::Forest) {
|
||||||
let mut color = cd.color();
|
let mut color = cd.color();
|
||||||
// if c.site() == selected_tile {
|
// if c.site() == selected_tile {
|
||||||
// color[0] = (color[0]+0.4).clamp(0., 1.);
|
// color[0] = (color[0]+0.4).clamp(0., 1.);
|
||||||
@ -95,6 +95,7 @@ fn setup(
|
|||||||
indices.extend_from_slice(&[i as u32, (i+v) as u32, (i+v+1) as u32]);
|
indices.extend_from_slice(&[i as u32, (i+v) as u32, (i+v+1) as u32]);
|
||||||
cd.vertices.extend_from_slice(&[i, i+v, i+v+1]);
|
cd.vertices.extend_from_slice(&[i, i+v, i+v+1]);
|
||||||
}
|
}
|
||||||
|
cmds.spawn(cd);
|
||||||
}
|
}
|
||||||
|
|
||||||
let mesh = Mesh::new(PrimitiveTopology::TriangleList, RenderAssetUsages::default())
|
let mesh = Mesh::new(PrimitiveTopology::TriangleList, RenderAssetUsages::default())
|
||||||
@ -121,16 +122,19 @@ fn setup(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn update(
|
fn update(
|
||||||
cells: Query<&CellData>,
|
mut cells: Query<&mut CellData>,
|
||||||
mut map: Query<(&Mesh2d, &mut MapColors), With<MapMarker>>,
|
mut map: Query<(&Mesh2d, &mut MapColors), With<MapMarker>>,
|
||||||
mut meshes: ResMut<Assets<Mesh>>
|
mut meshes: ResMut<Assets<Mesh>>
|
||||||
) {
|
) {
|
||||||
let (mesh, mut cols) = map.single_mut();
|
let (mesh, mut cols) = map.single_mut();
|
||||||
if let Some(mesh) = meshes.get_mut(mesh) {
|
if let Some(mesh) = meshes.get_mut(mesh) {
|
||||||
// let cols = mesh.attribute_mut(Mesh::ATTRIBUTE_COLOR).unwrap();
|
// let cols = mesh.attribute_mut(Mesh::ATTRIBUTE_COLOR).unwrap();
|
||||||
for cd in cells.iter() {
|
for mut cd in cells.iter_mut() {
|
||||||
|
// info!(cd.resource);
|
||||||
|
cd.update();
|
||||||
|
// dbg!(cd.resource);
|
||||||
let col = cd.color();
|
let col = cd.color();
|
||||||
for id in cd.vertices.iter() {
|
for id in cd.vertices.iter() {
|
||||||
cols.0[*id] = col.clone();
|
cols.0[*id] = col.clone();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user