phaser-jsx
Version:
Use JSX in Phaser.
28 lines • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.render = render;
var helpers_1 = require("../helpers");
/**
* Renders a piece of JSX into a Phaser scene.
*
* @param element - Element that you want to display.
* @param scene - Phaser scene.
*/
function render(element, scene) {
var _a;
(0, helpers_1.setScene)(scene);
// Detect if element is a function component for re-rendering
var componentFn = null;
var componentProps = null;
if (typeof (element === null || element === void 0 ? void 0 : element.type) === 'function' &&
((_a = element.type.prototype) === null || _a === void 0 ? void 0 : _a.constructor) !== element.type) {
// Function component
componentFn = element.type;
componentProps = element.props;
}
var context = (0, helpers_1.createRenderContext)(element, scene, componentFn, componentProps);
(0, helpers_1.setRenderContext)(context);
// Use rerender for initial render (gameObjectTree starts as null)
context.rerender();
}
//# sourceMappingURL=render.js.map