feat: Add focus minute berry reward (#63)
This commit is contained in:
@@ -70,13 +70,35 @@ fn tick_timer(
|
||||
mut phase_res: ResMut<CurrentPhase>,
|
||||
mut finish_writer: MessageWriter<PhaseTimerFinishedMessage>,
|
||||
mut savegame_messages: MessageWriter<SavegameDumpMessage>,
|
||||
config: Res<GameConfig>,
|
||||
mut inventory: ResMut<Inventory>,
|
||||
mut commands: Commands,
|
||||
mut items_query: Query<&mut ItemStack>,
|
||||
mut session_tracker: ResMut<SessionTracker>,
|
||||
) {
|
||||
let delta = time.delta_secs();
|
||||
let phase = &mut phase_res.0;
|
||||
|
||||
match phase {
|
||||
Phase::Focus { duration } | Phase::Break { duration } => {
|
||||
let old_minutes = (*duration / 60.0).floor() as i32;
|
||||
*duration -= delta;
|
||||
let new_minutes = (*duration / 60.0).floor() as i32;
|
||||
|
||||
if new_minutes < old_minutes {
|
||||
println!(
|
||||
"A minute of focus has been completed. Granting {} berries as a reward.",
|
||||
config.berries_per_focus_minute
|
||||
);
|
||||
|
||||
inventory.update_item_stack(
|
||||
&mut commands,
|
||||
&mut items_query,
|
||||
ItemType::Berry,
|
||||
config.berries_per_focus_minute as i32,
|
||||
);
|
||||
session_tracker.total_berries_earned += config.berries_per_focus_minute;
|
||||
}
|
||||
|
||||
if *duration <= 0.0 {
|
||||
finish_writer.write(PhaseTimerFinishedMessage {
|
||||
|
||||
Reference in New Issue
Block a user