UNPKG

dotup-ts-node-skills-game

Version:
67 lines (65 loc) 3.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Enumerations_1 = require("../Constants/Enumerations"); const AnimationBuilder_1 = require("./AnimationBuilder"); const SequenceBuilder_1 = require("./SequenceBuilder"); var GadgetBuilder; (function (GadgetBuilder) { // returns a StartInputHandler directive that can be added to an Alexa skill response function startInputHandler(timeout, events, saveRequestId, recognizers, proxies) { const result = { type: Enumerations_1.GameEngineDirectives.StartInputHandler, timeout: timeout, // maximumHistoryLength: maximumHistoryLength, proxies: proxies, events: events }; if (recognizers !== undefined) { result.recognizers = recognizers; } saveRequestId(); return result; } GadgetBuilder.startInputHandler = startInputHandler; // returns a StopInputHandler directive that can be added to an Alexa skill response function stopInputHandler(id) { return { type: Enumerations_1.GameEngineDirectives.StopInputHandler, originatingRequestId: id }; } GadgetBuilder.stopInputHandler = stopInputHandler; function setLightsOff(gadgetIds) { return setLight(gadgetIds, AnimationBuilder_1.AnimationBuilder.GetSolidAnimation(1, Enumerations_1.ButtonColor.off, 1), Enumerations_1.TriggerEvent.none, 0); } GadgetBuilder.setLightsOff = setLightsOff; function setButtonDown(gadgetIds, color, duration = 1) { return setLight(gadgetIds, AnimationBuilder_1.AnimationBuilder.GetSolidAnimation(1, color, duration), Enumerations_1.TriggerEvent.buttonDown); } GadgetBuilder.setButtonDown = setButtonDown; function setLightAndPowerOff(gadgetIds, color, duration = 5000) { const sequences = [ SequenceBuilder_1.SequenceBuilder.GetSolid(color, duration), SequenceBuilder_1.SequenceBuilder.GetLightsOff(1) ]; return setLight(gadgetIds, AnimationBuilder_1.AnimationBuilder.GetAnimation(1, sequences), Enumerations_1.TriggerEvent.none); } GadgetBuilder.setLightAndPowerOff = setLightAndPowerOff; // returns a SetLight directive, with a 'none' trigger, that can be added to an Alexa skill response function setLight(targetGadgets, animations, triggerEvent, triggerEventTimeMs = 0) { const ids = Array.isArray(targetGadgets) ? targetGadgets : [targetGadgets]; const ani = Array.isArray(animations) ? animations : [animations]; return { type: 'GadgetController.SetLight', version: '1', targetGadgets: ids, parameters: { animations: ani, triggerEvent: triggerEvent, triggerEventTimeMs: triggerEventTimeMs } }; } GadgetBuilder.setLight = setLight; })(GadgetBuilder = exports.GadgetBuilder || (exports.GadgetBuilder = {})); //# sourceMappingURL=GadgetBuilder.js.map