import { Client } from "../Client"; import * as common from "../../../common/src"; import { PlayId, PlayWithGame, PlayWithGameAndToken, CreatePlayParams } from "../types"; export function createPlay(client: Client, params: CreatePlayParams) { return client.call( "POST", "/plays", JSON.stringify({ gameCode: params.gameCode, idToken: params.idToken, roomId: params.roomId, contentCode: params.contentCode, contentVersion: params.contentVersion, ticketCode: params.ticketCode, }) ); } export function selectPlayer( client: Client, playId: string, idToken: string, ticketCode: string, characterId: string, characterName?: string ) { return client.call( "PUT", `/plays/${playId}`, JSON.stringify({ characterId, idToken, characterName, ticketCode, }) ); } export function unselectPlayer(client: Client, playId: string, idToken: string, characterId: string) { return client.call( "DELETE", `/plays/${playId}/characters/${characterId}`, JSON.stringify({ characterId, idToken, }) ); } export function startPlay(client: Client, playId: string, idToken: string) { return client.call( "POST", `/plays/${playId}/start`, JSON.stringify({ idToken, }) ); } export function getPlay(client: Client, id: string) { return client.call("GET", `/plays/${id}`); } export function playPlay(client: Client, id: string, idToken: string, ticketCode: string) { return client.call( "POST", `/plays/${id}/play`, JSON.stringify({ idToken, ticketCode, }) ); } export function saveState(client: Client, playId: string, idToken: string, ticketCode: string, state: string) { return client.call( "PUT", `/plays/${playId}/properties/state`, JSON.stringify({ idToken, ticketCode, state, }) ); } export function pausePlay(client: Client, playId: string, idToken: string) { return client.call( "POST", `/plays/${playId}/pause`, JSON.stringify({ idToken, }) ); } export function resumePlay(client: Client, playId: string, idToken: string) { return client.call( "POST", `/plays/${playId}/resume`, JSON.stringify({ idToken, }) ); }