initial commit

This commit is contained in:
2024-05-26 15:21:54 +02:00
commit 0cd59cdb23
6 changed files with 368 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
import { ICard, IEffect, IGame, ILobby, IPlayer, ITeam, ITurn, IUser, ServerMessage } from "../generic/index.js"
import { WebSocket } from "ws"
export interface ISClientProvider {
socket: WebSocket
send: (message: ServerMessage) => void
}
export interface ISQuery {
provider: ISClientProvider
accept: (message: ServerMessage) => void
cancel: (message: ServerMessage) => void
error: (message: string) => void
}
export interface ISEffect extends IEffect {
use: () => void
}
export interface ISCard extends ICard {
}
export interface ISTurn extends ITurn {
lockCard: (card: ICard) => void
}
export interface ISPlayer extends IPlayer {
setReady: (ready: boolean) => void
}
export interface ISTeam extends ITeam {
damage: (amount: number) => void
addPlayer: (player: IPlayer) => void
removePlayer: (player: IPlayer) => void
startTurn: () => void
endTurn: () => void
die: () => void
}
export interface ISGame extends IGame {
addTeam: (team: ISTeam) => void
removeTeam: (team: ISTeam) => void
start: () => void
request_join: (query: ISQuery) => void
request_kick: (query: ISQuery) => void
request_leave: (query: ISQuery) => void
request_start: (query: ISQuery) => void
request_changeRules: (query: ISQuery) => void
request_gameEnd: (query: ISQuery) => void
}
export interface ISUser extends IUser {
}
export interface ISLobby extends ILobby {
createGame: () => void
request_createGame: (query: ISQuery) => void
request_login: (query: ISQuery) => void
subscribe: (query: ISQuery) => any
}