fix: SessionTracker now updates at the same time berries are granted

(#54)
This commit is contained in:
demenik
2025-12-10 19:50:25 +01:00
parent 57904e055b
commit c4bbe2015f

View File

@@ -135,6 +135,7 @@ fn grant_focus_rewards(
berries as i32,
);
session_tracker.total_berries_earned += berries;
session_tracker.completed_focus_phases += 1;
let berries_name = match berries {
1 => ItemType::Berry.singular(&game_config),
@@ -179,14 +180,12 @@ fn handle_pause(
/// Transitions to the next phase based on current state.
pub fn next_phase(
current_phase: &mut CurrentPhase,
session_tracker: &mut SessionTracker,
session_tracker: &SessionTracker,
settings: &TimerSettings,
) {
if let Phase::Finished { completed_phase } = &current_phase.0 {
match **completed_phase {
Phase::Focus { .. } => {
session_tracker.completed_focus_phases += 1;
let is_long_break = session_tracker.completed_focus_phases > 0
&& session_tracker.completed_focus_phases % settings.long_break_interval == 0;
@@ -214,7 +213,7 @@ pub fn next_phase(
pub fn handle_continue(
mut messages: MessageReader<NextPhaseMessage>,
mut phase_res: ResMut<CurrentPhase>,
mut session_tracker: ResMut<SessionTracker>,
session_tracker: Res<SessionTracker>,
settings: Res<TimerSettings>,
mut tile_query: Query<&mut TileState>,
game_config: Res<GameConfig>,
@@ -226,7 +225,7 @@ pub fn handle_continue(
false
};
next_phase(&mut phase_res, &mut session_tracker, &settings);
next_phase(&mut phase_res, &session_tracker, &settings);
if entering_break {
println!("Growing crops and resetting watered state.");