feat: Add growth_stage to TileState

This commit is contained in:
demenik
2025-12-02 17:04:31 +01:00
parent 3a069ad17d
commit 7f134ce696
5 changed files with 8 additions and 1 deletions

View File

@@ -21,6 +21,7 @@ pub enum TileState {
Occupied { Occupied {
seed: ItemType, seed: ItemType,
watered: bool, watered: bool,
growth_stage: u32,
}, },
} }

View File

@@ -126,6 +126,7 @@ fn debug_click(
name: "Debug".into(), name: "Debug".into(),
}, },
watered: false, watered: false,
growth_stage: 0,
}, },
TileState::Occupied { .. } => TileState::Unclaimed, TileState::Occupied { .. } => TileState::Unclaimed,
}, },

View File

@@ -92,6 +92,7 @@ impl InteractionAction {
*tile_state = TileState::Occupied { *tile_state = TileState::Occupied {
seed: seed_type.clone(), seed: seed_type.clone(),
watered: false, watered: false,
growth_stage: 0,
}; };
} else { } else {
println!("No {:?} in inventory!", seed_type); println!("No {:?} in inventory!", seed_type);
@@ -101,11 +102,12 @@ impl InteractionAction {
} }
} }
InteractionAction::Water => { InteractionAction::Water => {
if let TileState::Occupied { seed, .. } = &*tile_state { if let TileState::Occupied { seed, growth_stage, .. } = &*tile_state {
println!("Watering {:?}", seed); println!("Watering {:?}", seed);
*tile_state = TileState::Occupied { *tile_state = TileState::Occupied {
seed: seed.clone(), seed: seed.clone(),
watered: true, watered: true,
growth_stage: *growth_stage,
}; };
} else { } else {
println!("Tile is not occupied, cannot water."); println!("Tile is not occupied, cannot water.");

View File

@@ -179,6 +179,7 @@ fn test_water_crop() {
TileState::Occupied { TileState::Occupied {
seed: seed_type.clone(), seed: seed_type.clone(),
watered: false, watered: false,
growth_stage: 0,
}, },
)], )],
vec![], vec![],

View File

@@ -94,6 +94,7 @@ fn test_find_path_around_obstacle() {
name: "Test".into(), name: "Test".into(),
}, },
watered: false, watered: false,
growth_stage: 0,
}; };
let obstacles = vec![ let obstacles = vec![
(2, 2, obstacle.clone()), (2, 2, obstacle.clone()),
@@ -146,6 +147,7 @@ fn test_find_path_no_path() {
name: "Test".into(), name: "Test".into(),
}, },
watered: false, watered: false,
growth_stage: 0,
}; };
let obstacles = vec![ let obstacles = vec![
(2, 0, obstacle.clone()), (2, 0, obstacle.clone()),