diff --git a/assets/crop.aseprite b/assets/crop.aseprite index 503cb41..08ecc00 100644 Binary files a/assets/crop.aseprite and b/assets/crop.aseprite differ diff --git a/src/features/grid/mod.rs b/src/features/grid/mod.rs index e94af2b..d2a064f 100644 --- a/src/features/grid/mod.rs +++ b/src/features/grid/mod.rs @@ -88,10 +88,10 @@ fn cleanup(mut commands: Commands, tile_query: Query>) { } fn update_tiles( - mut query: Query<(&TileState, &mut AseSlice, &Children)>, + mut query: Query<(&TileState, &mut AseSlice, &Children), (With, Without)>, mut crop_query: Query< - (&mut Visibility, &mut Transform), - (With, Without), + (&mut Visibility, &mut Transform, &mut AseSlice), + (With, Without, Without), >, mut water_query: Query< (&mut Visibility, &mut Transform), @@ -134,12 +134,18 @@ fn update_tiles( }; 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 { TileState::Occupied { .. } => Visibility::Visible, _ => Visibility::Hidden, }; 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) { *visibility = match state {