UNPKG

phaser-jsx

Version:
87 lines 3.06 kB
"use strict"; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.skipPropKeys = void 0; exports.setProps = setProps; var constants_1 = require("../constants"); exports.skipPropKeys = ['input']; /** * Sets game object props. * * @param gameObject - Phaser game object. * @param props - Element props. * @param scene - Phaser scene. */ function setProps(gameObject, props, scene) { var _loop_1 = function (key) { if (exports.skipPropKeys.includes(key)) { return "continue"; } var value = props[key]; if (value && key === 'data') { gameObject.setData(value); return "continue"; } if (constants_1.events[key] && typeof value === 'function') { gameObject.setInteractive(props.input); var eventName = key.slice(2).toLowerCase(); var pointerEvents = [ 'pointerdown', 'pointerdownoutside', 'pointermove', 'pointerout', 'pointerover', 'pointerup', 'pointerupoutside', 'pointerwheel', ]; if (pointerEvents.includes(eventName)) { var wrappedHandler = function (pointer) { var rest = []; for (var _i = 1; _i < arguments.length; _i++) { rest[_i - 1] = arguments[_i]; } value.apply(void 0, __spreadArray([pointer, gameObject], rest, false)); }; gameObject.on(eventName, wrappedHandler, scene); } else { gameObject.on(eventName, value, scene); } return "continue"; } if (key === 'style' && value && typeof value === 'object') { setStyle(gameObject, value); return "continue"; } else if (key in gameObject) { gameObject[key] = value; return "continue"; } }; for (var key in props) { _loop_1(key); } if ((typeof props.originX === 'number' || typeof props.originY === 'number') && typeof gameObject.setOrigin === 'function') { gameObject.setOrigin(props.originX, props.originY); } } function setStyle(gameObject, style) { var _a, _b; var text = gameObject; (_a = text.setStyle) === null || _a === void 0 ? void 0 : _a.call(text, style); var padding = style.padding; if (padding !== undefined) { (_b = text.setPadding) === null || _b === void 0 ? void 0 : _b.call(text, padding); } } //# sourceMappingURL=props.js.map