tsc-game
Version:
42 lines (33 loc) • 1.18 kB
text/typescript
import { ResourceInventory, } from "../../../inventory/domain/classes/resource-inventory";
import { Player } from "../../../player/domain/classes/player";
import { Resources } from "../../../resources/domain/models/resources.model";
import { RoundPlayer } from "../../../round/domain/models/round-player.model";
export interface TradeOffer {
id: string;
offeredResources: Partial<Resources>;
requestedResources: Partial<Resources>;
player: Player;
}
export interface TradeResponse {
tradeId: string;
respondedPlayer: Player;
accepted: boolean;
}
export interface TradeComplete {
trade: TradeOffer;
acceptedPlayer: Player;
}
export interface TradeCancel {
tradeId: string;
}
export interface OpenTradeOffer extends TradeOffer{
playerResponses: { [playerId: string]: boolean };
}
//todo find a better name, but Player cannot be used here because class player is only available in backend code
export interface OpenTradeOfferLocal {
id: string;
offeredResources: Partial<Resources>;
requestedResources: Partial<Resources>;
player: RoundPlayer;
playerResponses: { [playerId: string]: boolean };
}