This repository has been archived on 2024-07-02. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ts-interfaces/client/index.ts
T
2024-05-26 15:21:54 +02:00

58 lines
1.5 KiB
TypeScript

import { IFireGemsStack, IMarket, IMarketStack, IPlayerBoard, IPlayerDiscard, IPlayerHand } from "../generic/containers.js"
import { ICard, IEffect, IGame, IGameObject, ILobby, IPlayer, ITeam, ITurn, IUser } from "../generic/index.js"
import { 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"]>>
}