UNPKG

glam

Version:

Experimental WebGL Engine

93 lines (63 loc) 2.36 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createEngineRouter; var _forward = require('../renderer/forward'); var _forward2 = _interopRequireDefault(_forward); var _loop = require('./loop'); var _loop2 = _interopRequireDefault(_loop); var _boot = require('./boot'); var _boot2 = _interopRequireDefault(_boot); var _objectAssign = require('object-assign'); var _objectAssign2 = _interopRequireDefault(_objectAssign); var _scene = require('../scene'); var _scene2 = _interopRequireDefault(_scene); var _start = require('./start/'); var _start2 = _interopRequireDefault(_start); var _eventemitter = require('eventemitter3'); var _eventemitter2 = _interopRequireDefault(_eventemitter); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _typeof(obj) { return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj; } function Engine(config) { this.loop = (0, _loop2.default)(config); this.emitter = this.loop.emitter; this.on = this.loop.on; this.off = this.loop.off; this.start = _start2.default.bind(null, this); this.scene = null; this.renderer = null; } function createEngine(properties, onReady) { var config = (0, _objectAssign2.default)({ renderer: undefined, scene: undefined, emitter: new _eventemitter2.default(), customizeEvent: undefined, autoStart: true }, properties); var engine = new Engine(config); if (config.renderer === undefined) { var rendererConfig = (0, _objectAssign2.default)({ emitter: engine.emitter }, config.scene); engine.renderer = (0, _forward2.default)(rendererConfig); } if (config.scene === undefined) { var sceneConfig = (0, _objectAssign2.default)({ renderer: engine.renderer, emitter: engine.emitter }, config.renderer); engine.scene = (0, _scene2.default)(sceneConfig); } (0, _boot2.default)(engine, config, onReady); return engine; } function createEngineRouter(a, b) { var properties, onReady; if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) === "object") properties = a; if ((typeof b === 'undefined' ? 'undefined' : _typeof(b)) === "object") properties = b; if (typeof a === "function") onReady = a; if (typeof b === "function") onReady = b; return createEngine(properties, onReady); }