import { Race } from '@firestone-hs/reference-data' ; import { MatchResultType } from '../../models/mainwindow/replays/match-result.type' ; import { StatGameFormatType } from '../../models/mainwindow/stats/stat-game-format.type' ; import { StatGameModeType } from '../../models/mainwindow/stats/stat-game-mode.type' ; import { XpForGameInfo } from '../rewards/rewards-monitor' ; export class GameForUpload { reviewId : string ; runId : string ; title : string ; spectating : boolean ; gameMode : StatGameModeType ; gameFormat : StatGameFormatType ; buildNumber : number ; scenarioId : number ; playerRank : string ; newPlayerRank : string ; additionalResult : string ; opponentRank : string ; result : MatchResultType ; durationTimeSeconds : number ; durationTurns : number ; ended : boolean ; forceOpponentName : string ; xpForGame : XpForGameInfo ; player : Player = new Player ( ) ; opponent : Player = new Player ( ) ; deckstring : string ; deckName : string ; replay : string ; availableTribes : readonly Race [ ] ; bannedTribes : readonly Race [ ] ; hasBgsPrizes : boolean ; mercsBountyId : number ; uncompressedXmlReplay : string ; static createEmptyGame ( id ) { const game = new GameForUpload ( ) ; game . reviewId = id ; return game ; } } export class Player { name : string ; class : string ; hero : string ; }