UI
This commit is contained in:
parent
5b4ad9a47a
commit
86b9134156
5 changed files with 172 additions and 8 deletions
|
|
@ -31,7 +31,7 @@ pub struct TileMaterials {
|
|||
pub fn debug_setup_grid(mut grid: ResMut<Grid>) {
|
||||
use crate::grid::GridElement;
|
||||
let mut tool = grid.manipulate();
|
||||
tool.fill_xyz(5, 0, 0, 5, 0, 14, GridElement::Solid);
|
||||
tool.fill_xyz(5, 0, 1, 5, 0, 14, GridElement::Solid);
|
||||
tool.fill_xyz(0, 0, 0, 4, 0, 15, GridElement::Water { amount: MAX_FLUID_AMOUNT });
|
||||
}
|
||||
|
||||
|
|
@ -116,10 +116,10 @@ pub fn cube(position: Vec3,index: usize,mesh: Handle<Mesh>) -> impl Scene {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn update_cubes(query: Query<(&mut Mesh3d,&mut Visibility,&mut MeshMaterial3d<StandardMaterial>,&TileWatch)>, materials: Res<TileMaterials>, stages: Res<CubeStages>, grid: Res<Grid>) {
|
||||
pub fn update_cubes(query: Query<(&mut Mesh3d,&mut Visibility,&mut MeshMaterial3d<StandardMaterial>,&TileWatch, &mut Transform)>, materials: Res<TileMaterials>, stages: Res<CubeStages>, grid: Res<Grid>) {
|
||||
if grid.is_changed() == false { return; }
|
||||
|
||||
for (mut mesh,mut visibility, mut material, index) in query {
|
||||
for (mut mesh,mut visibility, mut material, index, mut transform) in query {
|
||||
let state = grid.data[index.0];
|
||||
|
||||
match state {
|
||||
|
|
@ -129,7 +129,10 @@ pub fn update_cubes(query: Query<(&mut Mesh3d,&mut Visibility,&mut MeshMaterial3
|
|||
crate::grid::GridElement::Water { amount } => {
|
||||
*visibility = Visibility::Visible;
|
||||
material.0 = materials.water.clone();
|
||||
let stage = ((amount as f32)/(MAX_FLUID_AMOUNT as f32) * (FLUID_FULLNES_STAGES-1) as f32).round() as usize;
|
||||
let stage = ((amount as f32)/(MAX_FLUID_AMOUNT as f32) * (FLUID_FULLNES_STAGES-1) as f32).ceil() as usize;
|
||||
|
||||
transform.translation = grid.deindexify(index.0 as u32).as_vec3() - vec3(0.,((FLUID_FULLNES_STAGES-1-stage) as f32 / (FLUID_FULLNES_STAGES as f32))/2.,0.);
|
||||
|
||||
mesh.0 = stages.0[stage].clone();
|
||||
},
|
||||
crate::grid::GridElement::Solid => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue