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/server/containers.ts
T
2024-05-26 15:38:47 +02:00

47 lines
1.3 KiB
TypeScript

import type { IContainer, IFireGemsStack, IInteractibleContainer, IMarket, IMarketStack, IPlayableContainer, IPlayerBoard, IPlayerDiscard, IPlayerHand, IPlayerStack } from "../generic/containers.js"
import type { ISCard } from "./index.js"
export interface ISContainer<T> extends IContainer<T> {
appendCards: (cards: Array<ISCard>) => void
draw: (amount: number) => Array<ISCard>
removeCards: (cards: Array<ISCard>) => void
shuffle: () => void
}
export interface ISInteractibleContainer extends IInteractibleContainer {
sacrifice: (card: ISCard) => void
}
export interface ISPlayableContainer extends IPlayableContainer {
discard: (card: ISCard) => void
}
export interface ISMarketStack extends IMarketStack {
}
export interface ISMarket extends IMarket {
buy: (card: ISCard) => void
buyInHand: (card: ISCard) => void
buyInStack: (card: ISCard) => void
}
export interface ISFireGemsStack extends IFireGemsStack {
}
export interface ISPlayerStack extends IPlayerStack {
}
export interface ISPlayerDiscard extends IPlayerDiscard {
putOnStack: (card: ISCard) => void
}
export interface ISPlayerHand extends IPlayerHand {
putAllOnBoard: () => void
}
export interface ISPlayerBoard extends IPlayerBoard {
stunChampion: (card: ISCard) => void
}