UNPKG

@robotlegsjs/phaser

Version:

RobotlegsJS integration with Phaser Scene Manager

61 lines 3.79 kB
"use strict"; // ------------------------------------------------------------------------------ // Copyright (c) 2017-present, RobotlegsJS. All Rights Reserved. // // NOTICE: You are permitted to use, modify, and distribute this file // in accordance with the terms of the license agreement accompanying it. // ------------------------------------------------------------------------------ Object.defineProperty(exports, "__esModule", { value: true }); exports.PhaserBundle = void 0; var core_1 = require("@robotlegsjs/core"); var IContextSceneManager_1 = require("../../extensions/contextSceneManager/api/IContextSceneManager"); var ContextSceneManagerExtension_1 = require("../../extensions/contextSceneManager/ContextSceneManagerExtension"); var ContextSceneManager_1 = require("../../extensions/contextSceneManager/impl/ContextSceneManager"); var ContextSceneManagerListenerConfig_1 = require("../../extensions/contextSceneManager/impl/ContextSceneManagerListenerConfig"); var LocalEventEmitterMapExtension_1 = require("../../extensions/localEventEmitterMap/LocalEventEmitterMapExtension"); var SceneMediatorMapExtension_1 = require("../../extensions/mediatorMap/SceneMediatorMapExtension"); var ViewMediatorMapExtension_1 = require("../../extensions/mediatorMap/ViewMediatorMapExtension"); var SceneManagerExtension_1 = require("../../extensions/viewManager/SceneManagerExtension"); var SceneManagerObserverExtension_1 = require("../../extensions/viewManager/SceneManagerObserverExtension"); /** * For that Classic Robotlegs flavour * * <p>This bundle installs a number of extensions commonly used * in typical Robotlegs applications and modules.</p> */ var PhaserBundle = /** @class */ (function () { function PhaserBundle() { } /*============================================================================*/ /* Public Functions */ /*============================================================================*/ /** * @inheritDoc */ PhaserBundle.prototype.extend = function (context) { this._context = context; this._logger = context.getLogger(this); this._context.install(ContextSceneManagerExtension_1.ContextSceneManagerExtension, LocalEventEmitterMapExtension_1.LocalEventEmitterMapExtension, SceneManagerExtension_1.SceneManagerExtension, SceneManagerObserverExtension_1.SceneManagerObserverExtension, SceneMediatorMapExtension_1.SceneMediatorMapExtension, ViewMediatorMapExtension_1.ViewMediatorMapExtension); this._context.addConfigHandler(core_1.instanceOfType(ContextSceneManager_1.ContextSceneManager), this._handleContextSceneManager.bind(this)); this._context.whenInitializing(this._whenInitializing.bind(this)); this._context.afterDestroying(this._afterDestroying.bind(this)); }; /*============================================================================*/ /* Private Functions */ /*============================================================================*/ PhaserBundle.prototype._handleContextSceneManager = function (contextSceneManager) { this._context.configure(ContextSceneManagerListenerConfig_1.ContextSceneManagerListenerConfig); }; PhaserBundle.prototype._whenInitializing = function () { if (!this._context.injector.isBound(IContextSceneManager_1.IContextSceneManager)) { this._logger.error("PhaserBundle requires IContextSceneManager."); } }; PhaserBundle.prototype._afterDestroying = function () { this._context = null; this._logger = null; }; return PhaserBundle; }()); exports.PhaserBundle = PhaserBundle; //# sourceMappingURL=PhaserBundle.js.map