dotup-ts-node-skills-game
Version:
Develop alexa typescript games
67 lines (65 loc) • 3.05 kB
JavaScript
;
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