UNPKG

@rtn263net/cloudhub-rts-electron-sdk

Version:

cloudhub-rts-electron-sdk

40 lines (39 loc) 1.1 kB
"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;