From 14d858786b7e7ae311c79267f105b749a4d42d32 Mon Sep 17 00:00:00 2001 From: demenik Date: Tue, 2 Dec 2025 19:05:27 +0100 Subject: [PATCH] feat: Visualize withered crops (#28) --- assets/crop.aseprite | Bin 943 -> 1316 bytes src/features/grid/mod.rs | 14 ++++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/assets/crop.aseprite b/assets/crop.aseprite index 503cb411670432394d4b6194835a471a13e47e0d..08ecc00095c9ec13a250d70059a17193fd11bc12 100644 GIT binary patch delta 839 zcmV-N1GxOJ2c!xKBn1Ef;H3coV37%T4WtAB0Q&I^0Av6F01UB>GXViWlfeNU7%l(+ z03sj(00000000000000609R>rXp_1DBmyY{li&dqe>eaZ0C=3W)v-#$U=#&lA4Jhf zp$>u~B7&2JqT(nzxH;(N?xKs2;OukwB)(1L6izukz4vea^iSZDKQ|#gUv5ITw({-m z=c+>$E*W)uyua*FW853A@4tt6(Wut3?Qng(&*nv=T3guN`1yO=(dG6rHaEUJPdmEY zUbDFYe+3&#dt=$$fPxLBy`eUGvb{Q6zo&H367AL5_dWHQxkp{uEH`ob%-o}{Y?hhR zU70QN`T3jIqiUnOGF#;H^B3onmEYHQ(&rKx^_op>>Wk(Q8TFcVw#-^;<2OgRt8;+yz51D*EJ|`O7 z=d(utc)C|*L?)k)&xr>2`K-}D*xz3HePr_asMFs`u62%B<5>+cB9qTYo&HX8t#ia0 zf6vN|$bwwVrunr;kM^_cYkbIpT+F8VwMUQkv+Ljdul|#ua7S7JwN&^eHPwRBlnp9pyn*)UgxZ_WyVtObxyZMf5tx5$`%>>RE>?kRyEYus(8=TK{{jF200000002+`4gh$Zdm)+l{|pc_3=rsz^!s1q>po!iql5UfPq4Zr zdG>#-;%)ra1l|6EhT$7%tVhsnP#Dw7espm9_8+Wv;R;t|K+A9<2GBE{s105~dGj$b z>5&!ymXC=^kJJRX@+CQ7pu!FY=pA+-Kuo@*7C1A&bqy$e(xa}SW|~9?BO#4q3qN|M z)1eNq)xo&x<$=tPATSu(e&ps?a`X+?@Fq1Z@TtdF#)0H$T?XPS<3Mt>C<93?-$u*B RQ81LjNNC3p0{}=}eP*+-pH~0? delta 510 zcmVV|4KD)#0Q&I?0Av6F01B~mP1+T%Y@vTz8M< zDgy;JO0%hK^0K#jhTfC+>^$XWe`m=&&dt~n-{*JdMaQ9c;(bL9UDL3z zyi4xYaa5eo9QgM2{(rAr&R0jp)^BE~+xnYh?7pghXM2C(kr}b^9o;`N@6Y=r!})$z z{F+{qul3Ee_*4?<=gio zXK62=TK z{{jF200000001xm4gh$Zdm)+l{|pc_3=$B3_6b(EB+vejRlJSgnxNZX(9wUVZ~wt+ z7cPGx1A4lX+TaB=9T5{BRMZ5x(gity-fjm0V$ub*z!^H_b!x^5I-o}!VRJt{ AR{#J2 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 {