import { EventBus, GameEvent } from "./EventBus" import { LogSeverity } from "./Schemas" export const consolex = { log: console.log, warn: console.warn, error: console.error } let inited = false // Only call this in client/browser! export function initRemoteSender(eventBus: EventBus) { if (inited) { return } inited = true consolex.log = (...args: any[]): void => { console.log(...args); // eventBus.emit(new SendLogEvent(LogSeverity.Info, args.join(' '))) } consolex.warn = (...args: any[]): void => { console.warn(...args); // eventBus.emit(new SendLogEvent(LogSeverity.Warn, args.join(' '))) } consolex.error = (...args: any[]): void => { console.error(...args); // eventBus.emit(new SendLogEvent(LogSeverity.Error, args.join(' '))) } } export class SendLogEvent implements GameEvent { constructor( public readonly severity: LogSeverity, public readonly log: string ) { } }