52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
System.register(["cc"], function (_export, _context) {
|
|
"use strict";
|
|
|
|
var _cclegacy, EventBus, _crd;
|
|
|
|
_export("EventBus", void 0);
|
|
|
|
return {
|
|
setters: [function (_cc) {
|
|
_cclegacy = _cc.cclegacy;
|
|
}],
|
|
execute: function () {
|
|
_crd = true;
|
|
|
|
_cclegacy._RF.push({}, "8de6bvjZYtM56UtcC5U66l4", "eventBus", undefined);
|
|
|
|
// 声明类
|
|
_export("EventBus", EventBus = class EventBus {
|
|
constructor() {
|
|
this.eventList = void 0;
|
|
//定义事件总线对象
|
|
this.eventList = {};
|
|
} //监听,或者说是发布
|
|
|
|
|
|
on(eventName, fn) {
|
|
var eventItem = this.eventList[eventName];
|
|
eventItem ? eventItem.push(fn) : this.eventList[eventName] = [fn];
|
|
} //触发,订阅
|
|
|
|
|
|
emit(eventName) {
|
|
for (var _len = arguments.length, arg = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
arg[_key - 1] = arguments[_key];
|
|
}
|
|
|
|
this.eventList[eventName] && this.eventList[eventName].forEach(fn => {
|
|
fn(...arg);
|
|
});
|
|
}
|
|
|
|
});
|
|
|
|
_export("default", EventBus);
|
|
|
|
_cclegacy._RF.pop();
|
|
|
|
_crd = false;
|
|
}
|
|
};
|
|
});
|
|
//# sourceMappingURL=70acc19f6a05394c50f382eb0c923064a25aa0f9.js.map
|