Archived
47 lines
1.3 KiB
TypeScript
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
|
|
} |