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