From 3775c5351246c4e691e0d903d81fa32de267d264 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Wed, 31 Aug 2022 21:51:28 +0000 Subject: [PATCH] refactor adding points into model logic --- .../source/HabitModel.kiss | 11 +++++++++++ .../source/HabitState.kiss | 13 ++----------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/projects/flixel-desktop-habit-puzzle-game/source/HabitModel.kiss b/projects/flixel-desktop-habit-puzzle-game/source/HabitModel.kiss index 74bd17a3..72ac070d 100644 --- a/projects/flixel-desktop-habit-puzzle-game/source/HabitModel.kiss +++ b/projects/flixel-desktop-habit-puzzle-game/source/HabitModel.kiss @@ -232,4 +232,15 @@ (method skipRewardFile [] (set .skipped (last rewardFiles) true) + (save)) + +(method addPoint [:Entry e] + (let [label (activeLabel e)] + (+= label.points 1) + (whenLet [(Daily days lastDayDone) e.type] + (set e.type (Daily days (HabitModel.todayString)))) + (whenLet [(Monthly days lastDayDone) e.type] + (set e.type (Monthly days (.toString (DateTime.now))))) + (whenLet [(Interval days lastDayDone) e.type] + (set e.type (Interval days (.toString (DateTime.now)))))) (save)) \ No newline at end of file diff --git a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss b/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss index ebd83c76..28289441 100644 --- a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss +++ b/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss @@ -588,17 +588,8 @@ (method makeText [:Entry e] (let [label (HabitModel.activeLabel e)] (_makeText label.label label.points ->:Void text { - // TODO move all of this logic other than setModel into HabitModel logic - (let [label (HabitModel.activeLabel e)] - (+= label.points 1) - (whenLet [(Daily days lastDayDone) e.type] - (set e.type (Daily days (HabitModel.todayString)))) - (whenLet [(Monthly days lastDayDone) e.type] - (set e.type (Monthly days (.toString (DateTime.now))))) - (whenLet [(Interval days lastDayDone) e.type] - (set e.type (Interval days (.toString (DateTime.now))))) - (model.save) - (setModel model)) + (model.addPoint e) + (setModel model) })))