fix habit game not giving points for todos
This commit is contained in:
@@ -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))
|
@@ -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)))
|
||||
|
Reference in New Issue
Block a user