From 7f134ce6962dd49448d4430a7764072e25356d50 Mon Sep 17 00:00:00 2001 From: demenik Date: Tue, 2 Dec 2025 17:04:31 +0100 Subject: [PATCH] feat: Add growth_stage to TileState --- src/features/grid/components.rs | 1 + src/features/input/mod.rs | 1 + src/features/pom/actions.rs | 4 +++- tests/interaction.rs | 1 + tests/pathfinding.rs | 2 ++ 5 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/features/grid/components.rs b/src/features/grid/components.rs index d2e9729..e2b20fa 100644 --- a/src/features/grid/components.rs +++ b/src/features/grid/components.rs @@ -21,6 +21,7 @@ pub enum TileState { Occupied { seed: ItemType, watered: bool, + growth_stage: u32, }, } diff --git a/src/features/input/mod.rs b/src/features/input/mod.rs index d72d0b3..e002979 100644 --- a/src/features/input/mod.rs +++ b/src/features/input/mod.rs @@ -126,6 +126,7 @@ fn debug_click( name: "Debug".into(), }, watered: false, + growth_stage: 0, }, TileState::Occupied { .. } => TileState::Unclaimed, }, diff --git a/src/features/pom/actions.rs b/src/features/pom/actions.rs index 32afa34..e63af7e 100644 --- a/src/features/pom/actions.rs +++ b/src/features/pom/actions.rs @@ -92,6 +92,7 @@ impl InteractionAction { *tile_state = TileState::Occupied { seed: seed_type.clone(), watered: false, + growth_stage: 0, }; } else { println!("No {:?} in inventory!", seed_type); @@ -101,11 +102,12 @@ impl InteractionAction { } } InteractionAction::Water => { - if let TileState::Occupied { seed, .. } = &*tile_state { + if let TileState::Occupied { seed, growth_stage, .. } = &*tile_state { println!("Watering {:?}", seed); *tile_state = TileState::Occupied { seed: seed.clone(), watered: true, + growth_stage: *growth_stage, }; } else { println!("Tile is not occupied, cannot water."); diff --git a/tests/interaction.rs b/tests/interaction.rs index 3b69d35..b657ff2 100644 --- a/tests/interaction.rs +++ b/tests/interaction.rs @@ -179,6 +179,7 @@ fn test_water_crop() { TileState::Occupied { seed: seed_type.clone(), watered: false, + growth_stage: 0, }, )], vec![], diff --git a/tests/pathfinding.rs b/tests/pathfinding.rs index 072b247..99eba5a 100644 --- a/tests/pathfinding.rs +++ b/tests/pathfinding.rs @@ -94,6 +94,7 @@ fn test_find_path_around_obstacle() { name: "Test".into(), }, watered: false, + growth_stage: 0, }; let obstacles = vec![ (2, 2, obstacle.clone()), @@ -146,6 +147,7 @@ fn test_find_path_no_path() { name: "Test".into(), }, watered: false, + growth_stage: 0, }; let obstacles = vec![ (2, 0, obstacle.clone()),