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); } }