@robotlegsjs/pixi-signalmediator
Version:
TypeScript port of Robotlegs Extension SignalMediator
59 lines • 2.62 kB
JavaScript
;
// ------------------------------------------------------------------------------
// Copyright (c) 2017-present, RobotlegsJS. All Rights Reserved.
// Copyright (c) 2016 San Dinh Studios. 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.SignalMediator = void 0;
var tslib_1 = require("tslib");
var core_1 = require("@robotlegsjs/core");
var pixi_1 = require("@robotlegsjs/pixi");
var SignalMap_1 = require("./SignalMap");
/**
* Signal mediator implementation
*
* <p>Override initialize and destroy to hook into the mediator lifecycle.</p>
*/
var SignalMediator = /** @class */ (function (_super) {
tslib_1.__extends(SignalMediator, _super);
function SignalMediator() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(SignalMediator.prototype, "signalMap", {
get: function () {
this._signalMap = this._signalMap || new SignalMap_1.SignalMap();
return this._signalMap;
},
enumerable: false,
configurable: true
});
/*============================================================================*/
/* Public Functions */
/*============================================================================*/
/**
* Runs after the mediator has been destroyed.
* Cleans up listeners mapped through the local EventMap.
*/
SignalMediator.prototype.postDestroy = function () {
this.signalMap.removeAll();
_super.prototype.postDestroy.call(this);
};
/*============================================================================*/
/* Protected Functions */
/*============================================================================*/
SignalMediator.prototype.addToSignal = function (signal, handler) {
this.signalMap.addToSignal(signal, handler);
};
SignalMediator.prototype.addOnceToSignal = function (signal, handler) {
this.signalMap.addOnceToSignal(signal, handler);
};
SignalMediator = tslib_1.__decorate([
core_1.injectable()
], SignalMediator);
return SignalMediator;
}(pixi_1.Mediator));
exports.SignalMediator = SignalMediator;
//# sourceMappingURL=SignalMediator.js.map