diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-07-09 17:32:38 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-07-09 17:32:38 +0100 |
commit | b35e96ba4a02274907d7b60d043aa069b94335b8 (patch) | |
tree | b00b312918ec3f9c95f708a19185be93405bb49d /scripts/toy/availability.groovy | |
parent | Basic trigger point event system (diff) | |
download | toy-b35e96ba4a02274907d7b60d043aa069b94335b8.zip |
Move availability into a module
Diffstat (limited to 'scripts/toy/availability.groovy')
-rw-r--r-- | scripts/toy/availability.groovy | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/scripts/toy/availability.groovy b/scripts/toy/availability.groovy new file mode 100644 index 0000000..27b977a --- /dev/null +++ b/scripts/toy/availability.groovy @@ -0,0 +1,24 @@ +{ toy -> + def getAvail = { int dayNum -> toy.loadInteger("toy.availability.$dayNum") ?: 0 }; + def addAvail = { amount -> + if (!amount) return; + def dayNum = toy.getDayNum(); + toy.save("toy.availability.$dayNum", (int)(getAvail(dayNum) + amount)); + }; + + toy.addTriggerHandler("toyLoungeTime", { a -> addAvail(a) }); + toy.addTriggerHandler("toyEventTime", { a -> addAvail(a) }); + + return { + def p = toy.load("toy.availability"); + if (!p) return; + def p2 = [:]; + final firstDay = toy.getDayNum() - 20; + p.eachWithIndex{ avail, day -> + if (day >= firstDay && avail > 0) { + p2["$day"] = avail; + } + } + toy.save("toy.availability", p2); + } +} |