Archived
60 lines
1.4 KiB
TypeScript
60 lines
1.4 KiB
TypeScript
import type { ICard, IEffect, IGame, ILobby, IPlayer, ITeam, ITurn, IUser } from "../generic/index.js"
|
|
import type { ISLobby } from "../server/index.js"
|
|
|
|
export interface ICEffect extends IEffect {
|
|
|
|
}
|
|
|
|
export interface ICCard extends ICard {
|
|
|
|
}
|
|
|
|
export interface ICTurn extends ITurn {
|
|
onCardLock: (card: ICard) => void
|
|
}
|
|
|
|
export interface ICPlayer extends IPlayer {
|
|
onReadyStateChange: (ready: boolean) => void
|
|
}
|
|
|
|
export interface ICTeam extends ITeam {
|
|
damage: (amount: number) => void
|
|
join: () => void
|
|
|
|
onTakeDamage: (amount: number) => void
|
|
onPlayerAdd: (player: IPlayer) => void
|
|
onPlayerRemove: (player: IPlayer) => void
|
|
onStartTurn: () => void
|
|
onEndTurn: () => void
|
|
onDie: () => void
|
|
}
|
|
|
|
export interface ICGame extends IGame {
|
|
join: () => void
|
|
kick: (player: IPlayer) => void
|
|
leave: () => void
|
|
start: () => void
|
|
|
|
request_join: () => void
|
|
request_kick: (player: ICPlayer) => void
|
|
request_leave: () => void
|
|
request_start: () => void
|
|
request_changeRules: () => void
|
|
request_gameEnd: () => void
|
|
|
|
onRulesChange: () => void
|
|
onAddTeam: (team: ITeam) => void
|
|
onRemoveTeam: (team: ITeam) => void
|
|
onGameStart: () => void
|
|
onGameEnd: () => void
|
|
}
|
|
|
|
export interface ICUser extends IUser {
|
|
|
|
}
|
|
export interface ICLobby extends ILobby {
|
|
request_createGame: () => Promise<ReturnType<ISLobby["request_createGame"]>>
|
|
|
|
onAddGame: () => void
|
|
onRemoveGame: () => void
|
|
} |