generated from legonzaur/webapp-dto
48 lines
1.3 KiB
TypeScript
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);
|
|
}
|
|
}
|