fix habit game not giving points for todos

This commit is contained in:
2022-02-16 13:18:07 -07:00
parent 8605daf9d0
commit dd5fbc2f66
2 changed files with 16 additions and 11 deletions

View File

@@ -126,4 +126,14 @@
(case e.type (case e.type
((Daily days lastDayDone) ((Daily days lastDayDone)
(and !(= lastDayDone (todayString)) (contains days (.getDay (Date.now))))) (and !(= lastDayDone (todayString)) (contains days (.getDay (Date.now)))))
(Todo (= 0 .points (activeLabel e)))
(otherwise true))) (otherwise true)))
(method :Array<Entry> activeDailyEntries []
(filter dailyEntries isActive))
(method :Array<Entry> activeBonusEntries []
(filter bonusEntries isActive))
(method :Array<Entry> activeTodoEntries []
(filter todoEntries isActive))

View File

@@ -68,11 +68,11 @@
(set entryTexts (new FlxTypedGroup)) (set entryTexts (new FlxTypedGroup))
(set textY 0) (set textY 0)
(set color FlxColor.ORANGE) (set color FlxColor.ORANGE)
(map (filter m.dailyEntries HabitModel.isActive) makeText) (map (m.activeDailyEntries) makeText)
(set color FlxColor.WHITE) (set color FlxColor.WHITE)
(map m.bonusEntries makeText) (map (m.activeBonusEntries) makeText)
(set color FlxColor.YELLOW) (set color FlxColor.YELLOW)
(map m.todoEntries makeText) (map (m.activeTodoEntries) makeText)
(add entryTexts) (add entryTexts)
(doFor e (the Array<Entry> (concat m.dailyEntries m.bonusEntries m.todoEntries)) (doFor e (the Array<Entry> (concat m.dailyEntries m.bonusEntries m.todoEntries))
@@ -84,13 +84,8 @@
(set shortcutHandler.onSelectItem ->:Void [:Entry e] (set shortcutHandler.onSelectItem ->:Void [:Entry e]
(let [label (HabitModel.activeLabel e)] (let [label (HabitModel.activeLabel e)]
(+= label.points 1) (+= label.points 1)
(case e.type (whenLet [(Daily days lastDayDone) e.type]
(Todo (set e.type (Daily days (HabitModel.todayString))))
(m.todoEntries.remove e))
(Bonus)
((Daily days lastDayDone)
(set e.type (Daily days (HabitModel.todayString))))
(otherwise (throw "bad type")))
(m.save) (m.save)
(setModel m) (setModel m)
(shortcutHandler.start))) (shortcutHandler.start)))