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) })))