Files
front/netcode/interfaces.ts
T

55 lines
1008 B
TypeScript

export interface GameObject {
_id: string;
}
export interface PlayingTurn {
currentTeam: string;
cardsLocked: string[];
lockedEffects: string[];
tokens: Effect[];
damage: number;
gold: number;
}
export interface Game extends GameObject {
fireGems: Container;
market: Container;
marketStack: Container;
teams: Team[];
currentTurn: PlayingTurn;
started: boolean;
owner: User;
}
export interface Team extends GameObject {
players: Player[];
health: number;
}
export interface Player extends GameObject {
board: Container;
discard: Container;
hand: Container;
stack: Container;
user: User;
discardMarkers: number;
fuckUMarkers: number;
}
export interface User extends GameObject {
userId: string;
avatar: string;
username: string;
}
export interface Container extends GameObject {
cards: Card[];
shuffling?: boolean;
}
export interface Effect extends GameObject {}
export interface Card extends GameObject {
cardId: number;
effects: Effect[];
}