summaryrefslogtreecommitdiff
path: root/scripts/toy/availability.groovy
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2019-07-09 17:32:38 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2019-07-09 17:32:38 +0100
commitb35e96ba4a02274907d7b60d043aa069b94335b8 (patch)
treeb00b312918ec3f9c95f708a19185be93405bb49d /scripts/toy/availability.groovy
parentBasic trigger point event system (diff)
downloadtoy-b35e96ba4a02274907d7b60d043aa069b94335b8.zip
Move availability into a module
Diffstat (limited to 'scripts/toy/availability.groovy')
-rw-r--r--scripts/toy/availability.groovy24
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);
+ }
+}