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 { ICard } from "../generic/index.js"
|
|
|
|
export interface ICContainer<T> extends IContainer<T> {
|
|
onCardsAppend: (cards: Array<ICard>) => void
|
|
onDraw: (cards: Array<ICard>) => void
|
|
onRemoveCards: (cards: Array<ICard>) => void
|
|
onShuffle: () => void
|
|
}
|
|
|
|
export interface ICInteractibleContainer extends IInteractibleContainer {
|
|
onSacrifice: (card: ICard) => void
|
|
}
|
|
|
|
export interface ICPlayableContainer extends IPlayableContainer {
|
|
onDiscard: (card: ICard) => void
|
|
}
|
|
|
|
export interface ICMarketStack extends IMarketStack {
|
|
|
|
}
|
|
|
|
export interface ICMarket extends IMarket {
|
|
onBuy: (card: ICard) => void
|
|
onBuyInHand: (card: ICard) => void
|
|
onBuyInStack: (card: ICard) => void
|
|
}
|
|
|
|
export interface ICFireGemsStack extends IFireGemsStack {
|
|
|
|
}
|
|
|
|
export interface ICPlayerStack extends IPlayerStack {
|
|
|
|
}
|
|
|
|
export interface ICPlayerDiscard extends IPlayerDiscard {
|
|
onPutOnStack: (card: ICard) => void
|
|
}
|
|
|
|
export interface ICPlayerHand extends IPlayerHand {
|
|
onPutAllOnBoard: () => void
|
|
}
|
|
|
|
export interface ICPlayerBoard extends IPlayerBoard {
|
|
onStunChampion: (card: ICard) => void
|
|
} |