import { Client } from 'src/codegen/common/GameService'; import { GameInterface } from '../core/game'; import { CoreOptions } from 'request'; import { createHttpClient, ICreateHttpClientOptions } from '@creditkarma/thrift-client'; import { IJoinRequest, JoinRequest } from '../codegen/common/JoinRequest'; import { TPlayer, TRoomId, TBoard, TColor, TCard, TDescription, TPhase, TPlacedJeton } from 'src/codegen/common'; export class GameProxy implements GameInterface { private thriftClient: Client; constructor(options: ICreateHttpClientOptions) { this.thriftClient = createHttpClient(Client, options); } createRoom(player: TPlayer): Promise { throw new Error('Method not implemented.'); } sendStartGame(player: TPlayer, creatureId: number, board: TBoard, color: TColor, placeCards: TCard[]): Promise { throw new Error('Method not implemented.'); } joinRoom(player: TPlayer, roomId: TRoomId): Promise { throw new Error('Method not implemented.'); } getGameDescription(player: TPlayer): Promise { throw new Error('Method not implemented.'); } sendFinishPhase(player: TPlayer, phase: TPhase): Promise { throw new Error('Method not implemented.'); } sendPlayCards(player: TPlayer, playerCards: TCard[]): Promise { throw new Error('Method not implemented.'); } sendPlaceJetons(player: TPlayer, placedJetons: TPlacedJeton[]): Promise { throw new Error('Method not implemented.'); } sendResist(player: TPlayer, number: number): Promise { throw new Error('Method not implemented.'); } sendGiveUp(player: TPlayer): Promise { throw new Error('Method not implemented.'); } /* createGame(numberOfPlayers: number): Promise { return this.thriftClient.createGame(numberOfPlayers); } join(gameId: number): Promise { const request: IJoinRequest = new JoinRequest(); request.name = 'me'; return this.thriftClient.join(gameId, request); } */ }