feat: Visualize withered crops (#28)

This commit is contained in:
demenik
2025-12-02 19:05:27 +01:00
parent d2db146eb6
commit 14d858786b
2 changed files with 10 additions and 4 deletions

Binary file not shown.

View File

@@ -88,10 +88,10 @@ fn cleanup(mut commands: Commands, tile_query: Query<Entity, With<Tile>>) {
} }
fn update_tiles( fn update_tiles(
mut query: Query<(&TileState, &mut AseSlice, &Children)>, mut query: Query<(&TileState, &mut AseSlice, &Children), (With<Tile>, Without<CropVisual>)>,
mut crop_query: Query< mut crop_query: Query<
(&mut Visibility, &mut Transform), (&mut Visibility, &mut Transform, &mut AseSlice),
(With<CropVisual>, Without<WaterVisual>), (With<CropVisual>, Without<WaterVisual>, Without<Tile>),
>, >,
mut water_query: Query< mut water_query: Query<
(&mut Visibility, &mut Transform), (&mut Visibility, &mut Transform),
@@ -134,12 +134,18 @@ fn update_tiles(
}; };
for child in children.iter() { for child in children.iter() {
if let Ok((mut visibility, mut transform)) = crop_query.get_mut(child) { if let Ok((mut visibility, mut transform, mut sprite)) = crop_query.get_mut(child) {
*visibility = match state { *visibility = match state {
TileState::Occupied { .. } => Visibility::Visible, TileState::Occupied { .. } => Visibility::Visible,
_ => Visibility::Hidden, _ => Visibility::Hidden,
}; };
transform.scale = scale; transform.scale = scale;
if let TileState::Occupied { withered: true, .. } = state {
sprite.name = "Wither".into();
} else {
sprite.name = "Crop".into();
}
} }
if let Ok((mut visibility, mut transform)) = water_query.get_mut(child) { if let Ok((mut visibility, mut transform)) = water_query.get_mut(child) {
*visibility = match state { *visibility = match state {