@rtn263net/cloudhub-rts-electron-sdk
Version:
cloudhub-rts-electron-sdk
40 lines (39 loc) • 1.1 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.innerEvent = exports.PlayerEvent = void 0;
class PlayerEvent {
constructor() {
this.events = {};
}
on(eventName, callback) {
this.events[eventName] = this.events[eventName] || [];
this.events[eventName].push(callback);
}
trigger(eventName, ...data) {
const funsArr = this.events[eventName];
if (funsArr) {
funsArr.forEach((fun) => {
fun(...data);
});
}
}
off(eventName, callback) {
let funsArr = this.events[eventName];
if (funsArr) {
if (callback) {
funsArr = funsArr.filter((fun) => {
return fun !== callback;
});
}
else {
delete this.events[eventName];
}
}
}
offAll() {
this.events = {};
}
}
exports.PlayerEvent = PlayerEvent;
const innerEvent = new PlayerEvent();
exports.innerEvent = innerEvent;