Archived
48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
import { ContainerVisibility, IContainer, IFireGemsStack, IInteractibleContainer, IMarket, IMarketStack, IPlayableContainer, IPlayerBoard, IPlayerDiscard, IPlayerHand, IPlayerStack } from "../generic/containers.js"
|
|
import { IGameObject, ICard, IPlayer, IGame } from "../generic/index.js"
|
|
import { 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
|
|
} |