UNPKG

meta-next

Version:

54 lines (44 loc) 733 B
const watchers = {} const Engine = { app: null, container: null, canvas: null, gl: null, window: null, camera: null, defaultSettings: { width: 0, height: 0, antialias: true, upscale: true }, on(event, func) { const buffer = watchers[event] if(!buffer) { watchers[event] = [ func ] } else { buffer.push(func) } }, off(event, func) { const buffer = watchers[event] if(!buffer) { return } const index = buffer.indexOf(func) if(index === -1) { return } buffer[index] = buffer[buffer.length - 1] buffer.pop() }, emit(event) { const buffer = watchers[event] if(!buffer) { return } for(let n = 0; n < buffer.length; n++) { buffer[n]() } } } export default Engine