Files
events/game.events.ts
T
2025-05-06 14:23:53 +02:00

48 lines
1.3 KiB
TypeScript

import { MessageResponseDTO } from './dto/messageresponse.dto';
import { PlayerResponseDTO } from './dto/playerresponse.dto';
import type { ConceptEvent } from './events';
export class GameStartEvent implements ConceptEvent {
type = 'start';
constructor(public currentPlayer: PlayerResponseDTO) {
this.currentPlayer = new PlayerResponseDTO(currentPlayer);
}
}
export class GameDeleteEvent implements ConceptEvent {
type = 'delete';
}
export class GameJoinEvent implements ConceptEvent {
type = 'joingame';
constructor(public player: PlayerResponseDTO) {
this.player = new PlayerResponseDTO(player);
}
}
export class GameLeaveEvent implements ConceptEvent {
type = 'leavegame';
constructor(public player: PlayerResponseDTO) {
this.player = new PlayerResponseDTO(player);
}
}
export class GameMessageEvent implements ConceptEvent {
type = 'message';
constructor(public message: MessageResponseDTO) {
this.message = new MessageResponseDTO(message);
}
}
export class GameMessageDeleteEvent implements ConceptEvent {
type = 'deleteMessage';
constructor(public messageId: number) {}
}
export class GameEndTurnEvent implements ConceptEvent {
type = 'endTurn';
constructor(public currentPlayer: PlayerResponseDTO) {
this.currentPlayer = new PlayerResponseDTO(currentPlayer);
}
}