@senspark/ee
Version:
utility library for cocos creator
33 lines (32 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var ObserverManager = /** @class */ (function () {
function ObserverManager() {
this.observers = {};
}
/** Adds an observer whose the specified key. */
ObserverManager.prototype.addObserver = function (key, observer) {
if (this.observers[key] !== undefined) {
return false;
}
this.observers[key] = observer;
return true;
};
/** Removes an observer whose the specified key. */
ObserverManager.prototype.removeObserver = function (key) {
if (this.observers[key] === undefined) {
return false;
}
delete this.observers[key];
return true;
};
ObserverManager.prototype.dispatch = function (callback) {
var _this = this;
Object.keys(this.observers).forEach(function (key) {
var observer = _this.observers[key];
callback(observer);
});
};
return ObserverManager;
}());
exports.ObserverManager = ObserverManager;