1
0
forked from noxious/server
Files
noxious_server/src/application/base/baseEvent.ts
2024-12-28 23:15:00 +01:00

25 lines
794 B
TypeScript

import { Server } from 'socket.io'
import Logger, { LoggerType } from '#application/logger'
import { TSocket } from '#application/types'
export abstract class BaseEvent {
protected readonly logger = Logger.type(LoggerType.GAME)
constructor(
readonly io: Server,
readonly socket: TSocket
) {}
protected emitError(message: string): void {
this.socket.emit('notification', { title: 'Server message', message })
this.logger.error('character:connect error', `Player ${this.socket.userId}: ${message}`)
}
protected handleError(context: string, error: unknown): void {
const errorMessage = error instanceof Error ? error.message : String(error)
this.emitError(`${context}: ${errorMessage}`)
this.logger.error('character:connect error', errorMessage)
}
}