| Index: generated/googleapis/lib/games/v1.dart
|
| diff --git a/generated/googleapis/lib/games/v1.dart b/generated/googleapis/lib/games/v1.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..08e0fc9c069e1bfea98c283f3532ecb44d27baf4
|
| --- /dev/null
|
| +++ b/generated/googleapis/lib/games/v1.dart
|
| @@ -0,0 +1,9655 @@
|
| +library googleapis.games.v1;
|
| +
|
| +import "dart:core" as core;
|
| +import "dart:collection" as collection_1;
|
| +import "dart:async" as async;
|
| +import "dart:convert" as convert;
|
| +
|
| +import "package:crypto/crypto.dart" as crypto;
|
| +import 'package:http/http.dart' as http;
|
| +import '../src/common_internal.dart' as common_internal;
|
| +import '../common/common.dart' as common;
|
| +
|
| +export '../common/common.dart' show ApiRequestError;
|
| +export '../common/common.dart' show DetailedApiRequestError;
|
| +
|
| +/** The API for Google Play Game Services. */
|
| +class GamesApi {
|
| + /** View and manage its own configuration data in your Google Drive */
|
| + static const DriveAppdataScope = "https://www.googleapis.com/auth/drive.appdata";
|
| +
|
| + /**
|
| + * Share your Google+ profile information and view and manage your game
|
| + * activity
|
| + */
|
| + static const GamesScope = "https://www.googleapis.com/auth/games";
|
| +
|
| + /** Know your basic profile info and list of people in your circles. */
|
| + static const PlusLoginScope = "https://www.googleapis.com/auth/plus.login";
|
| +
|
| +
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + AchievementDefinitionsResourceApi get achievementDefinitions => new AchievementDefinitionsResourceApi(_requester);
|
| + AchievementsResourceApi get achievements => new AchievementsResourceApi(_requester);
|
| + ApplicationsResourceApi get applications => new ApplicationsResourceApi(_requester);
|
| + EventsResourceApi get events => new EventsResourceApi(_requester);
|
| + LeaderboardsResourceApi get leaderboards => new LeaderboardsResourceApi(_requester);
|
| + MetagameResourceApi get metagame => new MetagameResourceApi(_requester);
|
| + PlayersResourceApi get players => new PlayersResourceApi(_requester);
|
| + PushtokensResourceApi get pushtokens => new PushtokensResourceApi(_requester);
|
| + QuestMilestonesResourceApi get questMilestones => new QuestMilestonesResourceApi(_requester);
|
| + QuestsResourceApi get quests => new QuestsResourceApi(_requester);
|
| + RevisionsResourceApi get revisions => new RevisionsResourceApi(_requester);
|
| + RoomsResourceApi get rooms => new RoomsResourceApi(_requester);
|
| + ScoresResourceApi get scores => new ScoresResourceApi(_requester);
|
| + SnapshotsResourceApi get snapshots => new SnapshotsResourceApi(_requester);
|
| + TurnBasedMatchesResourceApi get turnBasedMatches => new TurnBasedMatchesResourceApi(_requester);
|
| +
|
| + GamesApi(http.Client client) :
|
| + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/games/v1/");
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AchievementDefinitionsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + AchievementDefinitionsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Lists all the achievement definitions for your application.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of achievement resources to return in the
|
| + * response, used for paging. For any response, the actual number of
|
| + * achievement resources returned may be less than the specified maxResults.
|
| + * Value must be between "1" and "200".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [AchievementDefinitionsListResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<AchievementDefinitionsListResponse> list({core.String language, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'achievements';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AchievementDefinitionsListResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AchievementsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + AchievementsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Increments the steps of the achievement with the given ID for the currently
|
| + * authenticated player.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [achievementId] - The ID of the achievement used by this method.
|
| + *
|
| + * [stepsToIncrement] - The number of steps to increment.
|
| + *
|
| + * [requestId] - A randomly generated numeric ID for each request specified by
|
| + * the caller. This number is used at the server to ensure that the request is
|
| + * handled correctly across retries.
|
| + *
|
| + * Completes with a [AchievementIncrementResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<AchievementIncrementResponse> increment(core.String achievementId, core.int stepsToIncrement, {core.String requestId}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (achievementId == null) {
|
| + throw new core.ArgumentError("Parameter achievementId is required.");
|
| + }
|
| + if (stepsToIncrement == null) {
|
| + throw new core.ArgumentError("Parameter stepsToIncrement is required.");
|
| + }
|
| + _queryParams["stepsToIncrement"] = ["${stepsToIncrement}"];
|
| + if (requestId != null) {
|
| + _queryParams["requestId"] = [requestId];
|
| + }
|
| +
|
| +
|
| + _url = 'achievements/' + common_internal.Escaper.ecapeVariable('$achievementId') + '/increment';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AchievementIncrementResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists the progress for all your application's achievements for the
|
| + * currently authenticated player.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [playerId] - A player ID. A value of me may be used in place of the
|
| + * authenticated player's ID.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of achievement resources to return in the
|
| + * response, used for paging. For any response, the actual number of
|
| + * achievement resources returned may be less than the specified maxResults.
|
| + * Value must be between "1" and "200".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * [state] - Tells the server to return only achievements with the specified
|
| + * state. If this parameter isn't specified, all achievements are returned.
|
| + * Possible string values are:
|
| + * - "ALL" : List all achievements. This is the default.
|
| + * - "HIDDEN" : List only hidden achievements.
|
| + * - "REVEALED" : List only revealed achievements.
|
| + * - "UNLOCKED" : List only unlocked achievements.
|
| + *
|
| + * Completes with a [PlayerAchievementListResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<PlayerAchievementListResponse> list(core.String playerId, {core.String language, core.int maxResults, core.String pageToken, core.String state}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (playerId == null) {
|
| + throw new core.ArgumentError("Parameter playerId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| + if (state != null) {
|
| + _queryParams["state"] = [state];
|
| + }
|
| +
|
| +
|
| + _url = 'players/' + common_internal.Escaper.ecapeVariable('$playerId') + '/achievements';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new PlayerAchievementListResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Sets the state of the achievement with the given ID to REVEALED for the
|
| + * currently authenticated player.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [achievementId] - The ID of the achievement used by this method.
|
| + *
|
| + * Completes with a [AchievementRevealResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<AchievementRevealResponse> reveal(core.String achievementId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (achievementId == null) {
|
| + throw new core.ArgumentError("Parameter achievementId is required.");
|
| + }
|
| +
|
| +
|
| + _url = 'achievements/' + common_internal.Escaper.ecapeVariable('$achievementId') + '/reveal';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AchievementRevealResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Sets the steps for the currently authenticated player towards unlocking an
|
| + * achievement. If the steps parameter is less than the current number of
|
| + * steps that the player already gained for the achievement, the achievement
|
| + * is not modified.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [achievementId] - The ID of the achievement used by this method.
|
| + *
|
| + * [steps] - The minimum value to set the steps to.
|
| + *
|
| + * Completes with a [AchievementSetStepsAtLeastResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<AchievementSetStepsAtLeastResponse> setStepsAtLeast(core.String achievementId, core.int steps) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (achievementId == null) {
|
| + throw new core.ArgumentError("Parameter achievementId is required.");
|
| + }
|
| + if (steps == null) {
|
| + throw new core.ArgumentError("Parameter steps is required.");
|
| + }
|
| + _queryParams["steps"] = ["${steps}"];
|
| +
|
| +
|
| + _url = 'achievements/' + common_internal.Escaper.ecapeVariable('$achievementId') + '/setStepsAtLeast';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AchievementSetStepsAtLeastResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Unlocks this achievement for the currently authenticated player.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [achievementId] - The ID of the achievement used by this method.
|
| + *
|
| + * Completes with a [AchievementUnlockResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<AchievementUnlockResponse> unlock(core.String achievementId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (achievementId == null) {
|
| + throw new core.ArgumentError("Parameter achievementId is required.");
|
| + }
|
| +
|
| +
|
| + _url = 'achievements/' + common_internal.Escaper.ecapeVariable('$achievementId') + '/unlock';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AchievementUnlockResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates multiple achievements for the currently authenticated player.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [AchievementUpdateMultipleResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<AchievementUpdateMultipleResponse> updateMultiple(AchievementUpdateMultipleRequest request) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| +
|
| +
|
| + _url = 'achievements/updateMultiple';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AchievementUpdateMultipleResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ApplicationsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + ApplicationsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Retrieves the metadata of the application with the given ID. If the
|
| + * requested application is not available for the specified platformType, the
|
| + * returned response will not include any instance data.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [applicationId] - The application being requested.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [platformType] - Restrict application details returned to the specific
|
| + * platform.
|
| + * Possible string values are:
|
| + * - "ANDROID" : Retrieve applications that can be played on Android.
|
| + * - "IOS" : Retrieve applications that can be played on iOS.
|
| + * - "WEB_APP" : Retrieve applications that can be played on desktop web.
|
| + *
|
| + * Completes with a [Application].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Application> get(core.String applicationId, {core.String language, core.String platformType}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (applicationId == null) {
|
| + throw new core.ArgumentError("Parameter applicationId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (platformType != null) {
|
| + _queryParams["platformType"] = [platformType];
|
| + }
|
| +
|
| +
|
| + _url = 'applications/' + common_internal.Escaper.ecapeVariable('$applicationId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Application.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Indicate that the the currently authenticated user is playing your
|
| + * application.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future played() {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| +
|
| + _downloadOptions = null;
|
| +
|
| + _url = 'applications/played';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => null);
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class EventsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + EventsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Returns a list showing the current progress on events in this application
|
| + * for the currently authenticated user.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of events to return in the response, used
|
| + * for paging. For any response, the actual number of events to return may be
|
| + * less than the specified maxResults.
|
| + * Value must be between "1" and "100".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [PlayerEventListResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<PlayerEventListResponse> listByPlayer({core.String language, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'events';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new PlayerEventListResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Returns a list of the event definitions in this application.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of event definitions to return in the
|
| + * response, used for paging. For any response, the actual number of event
|
| + * definitions to return may be less than the specified maxResults.
|
| + * Value must be between "1" and "100".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [EventDefinitionListResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<EventDefinitionListResponse> listDefinitions({core.String language, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'eventDefinitions';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new EventDefinitionListResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Records a batch of changes to the number of times events have occurred for
|
| + * the currently authenticated user of this application.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [EventUpdateResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<EventUpdateResponse> record(EventRecordRequest request, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'events';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new EventUpdateResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class LeaderboardsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + LeaderboardsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Retrieves the metadata of the leaderboard with the given ID.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [leaderboardId] - The ID of the leaderboard.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [Leaderboard].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Leaderboard> get(core.String leaderboardId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (leaderboardId == null) {
|
| + throw new core.ArgumentError("Parameter leaderboardId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'leaderboards/' + common_internal.Escaper.ecapeVariable('$leaderboardId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Leaderboard.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists all the leaderboard metadata for your application.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of leaderboards to return in the
|
| + * response. For any response, the actual number of leaderboards returned may
|
| + * be less than the specified maxResults.
|
| + * Value must be between "1" and "200".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [LeaderboardListResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<LeaderboardListResponse> list({core.String language, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'leaderboards';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new LeaderboardListResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class MetagameResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + MetagameResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Return the metagame configuration data for the calling application.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [MetagameConfig].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<MetagameConfig> getMetagameConfig() {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| +
|
| +
|
| + _url = 'metagameConfig';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new MetagameConfig.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * List play data aggregated per category for the player corresponding to
|
| + * playerId.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [playerId] - A player ID. A value of me may be used in place of the
|
| + * authenticated player's ID.
|
| + *
|
| + * [collection] - The collection of categories for which data will be
|
| + * returned.
|
| + * Possible string values are:
|
| + * - "all" : Retrieve data for all categories. This is the default.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of category resources to return in the
|
| + * response, used for paging. For any response, the actual number of category
|
| + * resources returned may be less than the specified maxResults.
|
| + * Value must be between "1" and "100".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [CategoryListResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<CategoryListResponse> listCategoriesByPlayer(core.String playerId, core.String collection, {core.String language, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (playerId == null) {
|
| + throw new core.ArgumentError("Parameter playerId is required.");
|
| + }
|
| + if (collection == null) {
|
| + throw new core.ArgumentError("Parameter collection is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'players/' + common_internal.Escaper.ecapeVariable('$playerId') + '/categories/' + common_internal.Escaper.ecapeVariable('$collection');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new CategoryListResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class PlayersResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + PlayersResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Retrieves the Player resource with the given ID. To retrieve the player for
|
| + * the currently authenticated user, set playerId to me.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [playerId] - A player ID. A value of me may be used in place of the
|
| + * authenticated player's ID.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [Player].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Player> get(core.String playerId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (playerId == null) {
|
| + throw new core.ArgumentError("Parameter playerId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'players/' + common_internal.Escaper.ecapeVariable('$playerId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Player.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Get the collection of players for the currently authenticated user.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [collection] - Collection of players being retrieved
|
| + * Possible string values are:
|
| + * - "playedWith" : (DEPRECATED: please use played_with!) Retrieve a list of
|
| + * players you have played a multiplayer game (realtime or turn-based) with
|
| + * recently.
|
| + * - "played_with" : Retrieve a list of players you have played a multiplayer
|
| + * game (realtime or turn-based) with recently.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of player resources to return in the
|
| + * response, used for paging. For any response, the actual number of player
|
| + * resources returned may be less than the specified maxResults.
|
| + * Value must be between "1" and "15".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [PlayerListResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<PlayerListResponse> list(core.String collection, {core.String language, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (collection == null) {
|
| + throw new core.ArgumentError("Parameter collection is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'players/me/players/' + common_internal.Escaper.ecapeVariable('$collection');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new PlayerListResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class PushtokensResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + PushtokensResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Removes a push token for the current user and application. Removing a
|
| + * non-existent push token will report success.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future remove(PushTokenId request) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| +
|
| + _downloadOptions = null;
|
| +
|
| + _url = 'pushtokens/remove';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => null);
|
| + }
|
| +
|
| + /**
|
| + * Registers a push token for the current user and application.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future update(PushToken request) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| +
|
| + _downloadOptions = null;
|
| +
|
| + _url = 'pushtokens';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => null);
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class QuestMilestonesResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + QuestMilestonesResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Report that a reward for the milestone corresponding to milestoneId for the
|
| + * quest corresponding to questId has been claimed by the currently authorized
|
| + * user.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [questId] - The ID of the quest.
|
| + *
|
| + * [milestoneId] - The ID of the milestone.
|
| + *
|
| + * [requestId] - A numeric ID to ensure that the request is handled correctly
|
| + * across retries. Your client application must generate this ID randomly.
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future claim(core.String questId, core.String milestoneId, core.String requestId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (questId == null) {
|
| + throw new core.ArgumentError("Parameter questId is required.");
|
| + }
|
| + if (milestoneId == null) {
|
| + throw new core.ArgumentError("Parameter milestoneId is required.");
|
| + }
|
| + if (requestId == null) {
|
| + throw new core.ArgumentError("Parameter requestId is required.");
|
| + }
|
| + _queryParams["requestId"] = [requestId];
|
| +
|
| + _downloadOptions = null;
|
| +
|
| + _url = 'quests/' + common_internal.Escaper.ecapeVariable('$questId') + '/milestones/' + common_internal.Escaper.ecapeVariable('$milestoneId') + '/claim';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => null);
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class QuestsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + QuestsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Indicates that the currently authorized user will participate in the quest.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [questId] - The ID of the quest.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [Quest].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Quest> accept(core.String questId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (questId == null) {
|
| + throw new core.ArgumentError("Parameter questId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'quests/' + common_internal.Escaper.ecapeVariable('$questId') + '/accept';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Quest.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Get a list of quests for your application and the currently authenticated
|
| + * player.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [playerId] - A player ID. A value of me may be used in place of the
|
| + * authenticated player's ID.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of quest resources to return in the
|
| + * response, used for paging. For any response, the actual number of quest
|
| + * resources returned may be less than the specified maxResults. Acceptable
|
| + * values are 1 to 50, inclusive. (Default: 50).
|
| + * Value must be between "1" and "50".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [QuestListResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<QuestListResponse> list(core.String playerId, {core.String language, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (playerId == null) {
|
| + throw new core.ArgumentError("Parameter playerId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'players/' + common_internal.Escaper.ecapeVariable('$playerId') + '/quests';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new QuestListResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class RevisionsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + RevisionsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Checks whether the games client is out of date.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [clientRevision] - The revision of the client SDK used by your application.
|
| + * Format:
|
| + * [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE are:
|
| + *
|
| + * - "ANDROID" - Client is running the Android SDK.
|
| + * - "IOS" - Client is running the iOS SDK.
|
| + * - "WEB_APP" - Client is running as a Web App.
|
| + *
|
| + * Completes with a [RevisionCheckResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<RevisionCheckResponse> check(core.String clientRevision) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (clientRevision == null) {
|
| + throw new core.ArgumentError("Parameter clientRevision is required.");
|
| + }
|
| + _queryParams["clientRevision"] = [clientRevision];
|
| +
|
| +
|
| + _url = 'revisions/check';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new RevisionCheckResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class RoomsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + RoomsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Create a room. For internal use by the Games SDK only. Calling this method
|
| + * directly is unsupported.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [Room].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Room> create(RoomCreateRequest request, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'rooms/create';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Room.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Decline an invitation to join a room. For internal use by the Games SDK
|
| + * only. Calling this method directly is unsupported.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [roomId] - The ID of the room.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [Room].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Room> decline(core.String roomId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (roomId == null) {
|
| + throw new core.ArgumentError("Parameter roomId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'rooms/' + common_internal.Escaper.ecapeVariable('$roomId') + '/decline';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Room.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Dismiss an invitation to join a room. For internal use by the Games SDK
|
| + * only. Calling this method directly is unsupported.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [roomId] - The ID of the room.
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future dismiss(core.String roomId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (roomId == null) {
|
| + throw new core.ArgumentError("Parameter roomId is required.");
|
| + }
|
| +
|
| + _downloadOptions = null;
|
| +
|
| + _url = 'rooms/' + common_internal.Escaper.ecapeVariable('$roomId') + '/dismiss';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => null);
|
| + }
|
| +
|
| + /**
|
| + * Get the data for a room.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [roomId] - The ID of the room.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [Room].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Room> get(core.String roomId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (roomId == null) {
|
| + throw new core.ArgumentError("Parameter roomId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'rooms/' + common_internal.Escaper.ecapeVariable('$roomId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Room.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Join a room. For internal use by the Games SDK only. Calling this method
|
| + * directly is unsupported.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [roomId] - The ID of the room.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [Room].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Room> join(RoomJoinRequest request, core.String roomId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (roomId == null) {
|
| + throw new core.ArgumentError("Parameter roomId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'rooms/' + common_internal.Escaper.ecapeVariable('$roomId') + '/join';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Room.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Leave a room. For internal use by the Games SDK only. Calling this method
|
| + * directly is unsupported.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [roomId] - The ID of the room.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [Room].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Room> leave(RoomLeaveRequest request, core.String roomId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (roomId == null) {
|
| + throw new core.ArgumentError("Parameter roomId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'rooms/' + common_internal.Escaper.ecapeVariable('$roomId') + '/leave';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Room.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Returns invitations to join rooms.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of rooms to return in the response, used
|
| + * for paging. For any response, the actual number of rooms to return may be
|
| + * less than the specified maxResults.
|
| + * Value must be between "1" and "500".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [RoomList].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<RoomList> list({core.String language, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'rooms';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new RoomList.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates sent by a client reporting the status of peers in a room. For
|
| + * internal use by the Games SDK only. Calling this method directly is
|
| + * unsupported.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [roomId] - The ID of the room.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [RoomStatus].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<RoomStatus> reportStatus(RoomP2PStatuses request, core.String roomId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (roomId == null) {
|
| + throw new core.ArgumentError("Parameter roomId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'rooms/' + common_internal.Escaper.ecapeVariable('$roomId') + '/reportstatus';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new RoomStatus.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ScoresResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + ScoresResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Get high scores, and optionally ranks, in leaderboards for the currently
|
| + * authenticated player. For a specific time span, leaderboardId can be set to
|
| + * ALL to retrieve data for all leaderboards in a given time span.
|
| + * NOTE: You cannot ask for 'ALL' leaderboards and 'ALL' timeSpans in the same
|
| + * request; only one parameter may be set to 'ALL'.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [playerId] - A player ID. A value of me may be used in place of the
|
| + * authenticated player's ID.
|
| + *
|
| + * [leaderboardId] - The ID of the leaderboard. Can be set to 'ALL' to
|
| + * retrieve data for all leaderboards for this application.
|
| + *
|
| + * [timeSpan] - The time span for the scores and ranks you're requesting.
|
| + * Possible string values are:
|
| + * - "ALL" : Get the high scores for all time spans. If this is used,
|
| + * maxResults values will be ignored.
|
| + * - "ALL_TIME" : Get the all time high score.
|
| + * - "DAILY" : List the top scores for the current day.
|
| + * - "WEEKLY" : List the top scores for the current week.
|
| + *
|
| + * [includeRankType] - The types of ranks to return. If the parameter is
|
| + * omitted, no ranks will be returned.
|
| + * Possible string values are:
|
| + * - "ALL" : Retrieve public and social ranks.
|
| + * - "PUBLIC" : Retrieve public ranks, if the player is sharing their gameplay
|
| + * activity publicly.
|
| + * - "SOCIAL" : Retrieve the social rank.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of leaderboard scores to return in the
|
| + * response. For any response, the actual number of leaderboard scores
|
| + * returned may be less than the specified maxResults.
|
| + * Value must be between "1" and "25".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [PlayerLeaderboardScoreListResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<PlayerLeaderboardScoreListResponse> get(core.String playerId, core.String leaderboardId, core.String timeSpan, {core.String includeRankType, core.String language, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (playerId == null) {
|
| + throw new core.ArgumentError("Parameter playerId is required.");
|
| + }
|
| + if (leaderboardId == null) {
|
| + throw new core.ArgumentError("Parameter leaderboardId is required.");
|
| + }
|
| + if (timeSpan == null) {
|
| + throw new core.ArgumentError("Parameter timeSpan is required.");
|
| + }
|
| + if (includeRankType != null) {
|
| + _queryParams["includeRankType"] = [includeRankType];
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'players/' + common_internal.Escaper.ecapeVariable('$playerId') + '/leaderboards/' + common_internal.Escaper.ecapeVariable('$leaderboardId') + '/scores/' + common_internal.Escaper.ecapeVariable('$timeSpan');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new PlayerLeaderboardScoreListResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists the scores in a leaderboard, starting from the top.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [leaderboardId] - The ID of the leaderboard.
|
| + *
|
| + * [collection] - The collection of scores you're requesting.
|
| + * Possible string values are:
|
| + * - "PUBLIC" : List all scores in the public leaderboard.
|
| + * - "SOCIAL" : List only social scores.
|
| + *
|
| + * [timeSpan] - The time span for the scores and ranks you're requesting.
|
| + * Possible string values are:
|
| + * - "ALL_TIME" : List the all-time top scores.
|
| + * - "DAILY" : List the top scores for the current day.
|
| + * - "WEEKLY" : List the top scores for the current week.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of leaderboard scores to return in the
|
| + * response. For any response, the actual number of leaderboard scores
|
| + * returned may be less than the specified maxResults.
|
| + * Value must be between "1" and "25".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [LeaderboardScores].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<LeaderboardScores> list(core.String leaderboardId, core.String collection, core.String timeSpan, {core.String language, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (leaderboardId == null) {
|
| + throw new core.ArgumentError("Parameter leaderboardId is required.");
|
| + }
|
| + if (collection == null) {
|
| + throw new core.ArgumentError("Parameter collection is required.");
|
| + }
|
| + if (timeSpan == null) {
|
| + throw new core.ArgumentError("Parameter timeSpan is required.");
|
| + }
|
| + _queryParams["timeSpan"] = [timeSpan];
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'leaderboards/' + common_internal.Escaper.ecapeVariable('$leaderboardId') + '/scores/' + common_internal.Escaper.ecapeVariable('$collection');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new LeaderboardScores.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists the scores in a leaderboard around (and including) a player's score.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [leaderboardId] - The ID of the leaderboard.
|
| + *
|
| + * [collection] - The collection of scores you're requesting.
|
| + * Possible string values are:
|
| + * - "PUBLIC" : List all scores in the public leaderboard.
|
| + * - "SOCIAL" : List only social scores.
|
| + *
|
| + * [timeSpan] - The time span for the scores and ranks you're requesting.
|
| + * Possible string values are:
|
| + * - "ALL_TIME" : List the all-time top scores.
|
| + * - "DAILY" : List the top scores for the current day.
|
| + * - "WEEKLY" : List the top scores for the current week.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of leaderboard scores to return in the
|
| + * response. For any response, the actual number of leaderboard scores
|
| + * returned may be less than the specified maxResults.
|
| + * Value must be between "1" and "25".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * [resultsAbove] - The preferred number of scores to return above the
|
| + * player's score. More scores may be returned if the player is at the bottom
|
| + * of the leaderboard; fewer may be returned if the player is at the top. Must
|
| + * be less than or equal to maxResults.
|
| + *
|
| + * [returnTopIfAbsent] - True if the top scores should be returned when the
|
| + * player is not in the leaderboard. Defaults to true.
|
| + *
|
| + * Completes with a [LeaderboardScores].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<LeaderboardScores> listWindow(core.String leaderboardId, core.String collection, core.String timeSpan, {core.String language, core.int maxResults, core.String pageToken, core.int resultsAbove, core.bool returnTopIfAbsent}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (leaderboardId == null) {
|
| + throw new core.ArgumentError("Parameter leaderboardId is required.");
|
| + }
|
| + if (collection == null) {
|
| + throw new core.ArgumentError("Parameter collection is required.");
|
| + }
|
| + if (timeSpan == null) {
|
| + throw new core.ArgumentError("Parameter timeSpan is required.");
|
| + }
|
| + _queryParams["timeSpan"] = [timeSpan];
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| + if (resultsAbove != null) {
|
| + _queryParams["resultsAbove"] = ["${resultsAbove}"];
|
| + }
|
| + if (returnTopIfAbsent != null) {
|
| + _queryParams["returnTopIfAbsent"] = ["${returnTopIfAbsent}"];
|
| + }
|
| +
|
| +
|
| + _url = 'leaderboards/' + common_internal.Escaper.ecapeVariable('$leaderboardId') + '/window/' + common_internal.Escaper.ecapeVariable('$collection');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new LeaderboardScores.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Submits a score to the specified leaderboard.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [leaderboardId] - The ID of the leaderboard.
|
| + *
|
| + * [score] - The score you're submitting. The submitted score is ignored if it
|
| + * is worse than a previously submitted score, where worse depends on the
|
| + * leaderboard sort order. The meaning of the score value depends on the
|
| + * leaderboard format type. For fixed-point, the score represents the raw
|
| + * value. For time, the score represents elapsed time in milliseconds. For
|
| + * currency, the score represents a value in micro units.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [scoreTag] - Additional information about the score you're submitting.
|
| + * Values must contain no more than 64 URI-safe characters as defined by
|
| + * section 2.3 of RFC 3986.
|
| + * Value must have pattern "[a-zA-Z0-9-._~]{0,64}".
|
| + *
|
| + * Completes with a [PlayerScoreResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<PlayerScoreResponse> submit(core.String leaderboardId, core.String score, {core.String language, core.String scoreTag}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (leaderboardId == null) {
|
| + throw new core.ArgumentError("Parameter leaderboardId is required.");
|
| + }
|
| + if (score == null) {
|
| + throw new core.ArgumentError("Parameter score is required.");
|
| + }
|
| + _queryParams["score"] = [score];
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (scoreTag != null) {
|
| + _queryParams["scoreTag"] = [scoreTag];
|
| + }
|
| +
|
| +
|
| + _url = 'leaderboards/' + common_internal.Escaper.ecapeVariable('$leaderboardId') + '/scores';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new PlayerScoreResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Submits multiple scores to leaderboards.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [PlayerScoreListResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<PlayerScoreListResponse> submitMultiple(PlayerScoreSubmissionList request, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'leaderboards/scores';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new PlayerScoreListResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class SnapshotsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + SnapshotsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Retrieves the metadata for a given snapshot ID.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [snapshotId] - The ID of the snapshot.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [Snapshot].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Snapshot> get(core.String snapshotId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (snapshotId == null) {
|
| + throw new core.ArgumentError("Parameter snapshotId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'snapshots/' + common_internal.Escaper.ecapeVariable('$snapshotId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Snapshot.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Retrieves a list of snapshots created by your application for the player
|
| + * corresponding to the player ID.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [playerId] - A player ID. A value of me may be used in place of the
|
| + * authenticated player's ID.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxResults] - The maximum number of snapshot resources to return in the
|
| + * response, used for paging. For any response, the actual number of snapshot
|
| + * resources returned may be less than the specified maxResults.
|
| + * Value must be between "1" and "25".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [SnapshotListResponse].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<SnapshotListResponse> list(core.String playerId, {core.String language, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (playerId == null) {
|
| + throw new core.ArgumentError("Parameter playerId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'players/' + common_internal.Escaper.ecapeVariable('$playerId') + '/snapshots';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new SnapshotListResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class TurnBasedMatchesResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + TurnBasedMatchesResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Cancel a turn-based match.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [matchId] - The ID of the match.
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future cancel(core.String matchId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (matchId == null) {
|
| + throw new core.ArgumentError("Parameter matchId is required.");
|
| + }
|
| +
|
| + _downloadOptions = null;
|
| +
|
| + _url = 'turnbasedmatches/' + common_internal.Escaper.ecapeVariable('$matchId') + '/cancel';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => null);
|
| + }
|
| +
|
| + /**
|
| + * Create a turn-based match.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [TurnBasedMatch].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<TurnBasedMatch> create(TurnBasedMatchCreateRequest request, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'turnbasedmatches/create';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TurnBasedMatch.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Decline an invitation to play a turn-based match.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [matchId] - The ID of the match.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [TurnBasedMatch].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<TurnBasedMatch> decline(core.String matchId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (matchId == null) {
|
| + throw new core.ArgumentError("Parameter matchId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'turnbasedmatches/' + common_internal.Escaper.ecapeVariable('$matchId') + '/decline';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TurnBasedMatch.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Dismiss a turn-based match from the match list. The match will no longer
|
| + * show up in the list and will not generate notifications.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [matchId] - The ID of the match.
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future dismiss(core.String matchId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (matchId == null) {
|
| + throw new core.ArgumentError("Parameter matchId is required.");
|
| + }
|
| +
|
| + _downloadOptions = null;
|
| +
|
| + _url = 'turnbasedmatches/' + common_internal.Escaper.ecapeVariable('$matchId') + '/dismiss';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => null);
|
| + }
|
| +
|
| + /**
|
| + * Finish a turn-based match. Each player should make this call once, after
|
| + * all results are in. Only the player whose turn it is may make the first
|
| + * call to Finish, and can pass in the final match state.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [matchId] - The ID of the match.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [TurnBasedMatch].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<TurnBasedMatch> finish(TurnBasedMatchResults request, core.String matchId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (matchId == null) {
|
| + throw new core.ArgumentError("Parameter matchId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'turnbasedmatches/' + common_internal.Escaper.ecapeVariable('$matchId') + '/finish';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TurnBasedMatch.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Get the data for a turn-based match.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [matchId] - The ID of the match.
|
| + *
|
| + * [includeMatchData] - Get match data along with metadata.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [TurnBasedMatch].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<TurnBasedMatch> get(core.String matchId, {core.bool includeMatchData, core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (matchId == null) {
|
| + throw new core.ArgumentError("Parameter matchId is required.");
|
| + }
|
| + if (includeMatchData != null) {
|
| + _queryParams["includeMatchData"] = ["${includeMatchData}"];
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'turnbasedmatches/' + common_internal.Escaper.ecapeVariable('$matchId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TurnBasedMatch.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Join a turn-based match.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [matchId] - The ID of the match.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [TurnBasedMatch].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<TurnBasedMatch> join(core.String matchId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (matchId == null) {
|
| + throw new core.ArgumentError("Parameter matchId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'turnbasedmatches/' + common_internal.Escaper.ecapeVariable('$matchId') + '/join';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TurnBasedMatch.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Leave a turn-based match when it is not the current player's turn, without
|
| + * canceling the match.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [matchId] - The ID of the match.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [TurnBasedMatch].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<TurnBasedMatch> leave(core.String matchId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (matchId == null) {
|
| + throw new core.ArgumentError("Parameter matchId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'turnbasedmatches/' + common_internal.Escaper.ecapeVariable('$matchId') + '/leave';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TurnBasedMatch.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Leave a turn-based match during the current player's turn, without
|
| + * canceling the match.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [matchId] - The ID of the match.
|
| + *
|
| + * [matchVersion] - The version of the match being updated.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [pendingParticipantId] - The ID of another participant who should take
|
| + * their turn next. If not set, the match will wait for other player(s) to
|
| + * join via automatching; this is only valid if automatch criteria is set on
|
| + * the match with remaining slots for automatched players.
|
| + *
|
| + * Completes with a [TurnBasedMatch].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<TurnBasedMatch> leaveTurn(core.String matchId, core.int matchVersion, {core.String language, core.String pendingParticipantId}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (matchId == null) {
|
| + throw new core.ArgumentError("Parameter matchId is required.");
|
| + }
|
| + if (matchVersion == null) {
|
| + throw new core.ArgumentError("Parameter matchVersion is required.");
|
| + }
|
| + _queryParams["matchVersion"] = ["${matchVersion}"];
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (pendingParticipantId != null) {
|
| + _queryParams["pendingParticipantId"] = [pendingParticipantId];
|
| + }
|
| +
|
| +
|
| + _url = 'turnbasedmatches/' + common_internal.Escaper.ecapeVariable('$matchId') + '/leaveTurn';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TurnBasedMatch.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Returns turn-based matches the player is or was involved in.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [includeMatchData] - True if match data should be returned in the response.
|
| + * Note that not all data will necessarily be returned if include_match_data
|
| + * is true; the server may decide to only return data for some of the matches
|
| + * to limit download size for the client. The remainder of the data for these
|
| + * matches will be retrievable on request.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxCompletedMatches] - The maximum number of completed or canceled matches
|
| + * to return in the response. If not set, all matches returned could be
|
| + * completed or canceled.
|
| + * Value must be between "0" and "500".
|
| + *
|
| + * [maxResults] - The maximum number of matches to return in the response,
|
| + * used for paging. For any response, the actual number of matches to return
|
| + * may be less than the specified maxResults.
|
| + * Value must be between "1" and "500".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [TurnBasedMatchList].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<TurnBasedMatchList> list({core.bool includeMatchData, core.String language, core.int maxCompletedMatches, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (includeMatchData != null) {
|
| + _queryParams["includeMatchData"] = ["${includeMatchData}"];
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxCompletedMatches != null) {
|
| + _queryParams["maxCompletedMatches"] = ["${maxCompletedMatches}"];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'turnbasedmatches';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TurnBasedMatchList.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Create a rematch of a match that was previously completed, with the same
|
| + * participants. This can be called by only one player on a match still in
|
| + * their list; the player must have called Finish first. Returns the newly
|
| + * created match; it will be the caller's turn.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [matchId] - The ID of the match.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [requestId] - A randomly generated numeric ID for each request specified by
|
| + * the caller. This number is used at the server to ensure that the request is
|
| + * handled correctly across retries.
|
| + *
|
| + * Completes with a [TurnBasedMatchRematch].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<TurnBasedMatchRematch> rematch(core.String matchId, {core.String language, core.String requestId}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (matchId == null) {
|
| + throw new core.ArgumentError("Parameter matchId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (requestId != null) {
|
| + _queryParams["requestId"] = [requestId];
|
| + }
|
| +
|
| +
|
| + _url = 'turnbasedmatches/' + common_internal.Escaper.ecapeVariable('$matchId') + '/rematch';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TurnBasedMatchRematch.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Returns turn-based matches the player is or was involved in that changed
|
| + * since the last sync call, with the least recent changes coming first.
|
| + * Matches that should be removed from the local cache will have a status of
|
| + * MATCH_DELETED.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [includeMatchData] - True if match data should be returned in the response.
|
| + * Note that not all data will necessarily be returned if include_match_data
|
| + * is true; the server may decide to only return data for some of the matches
|
| + * to limit download size for the client. The remainder of the data for these
|
| + * matches will be retrievable on request.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * [maxCompletedMatches] - The maximum number of completed or canceled matches
|
| + * to return in the response. If not set, all matches returned could be
|
| + * completed or canceled.
|
| + * Value must be between "0" and "500".
|
| + *
|
| + * [maxResults] - The maximum number of matches to return in the response,
|
| + * used for paging. For any response, the actual number of matches to return
|
| + * may be less than the specified maxResults.
|
| + * Value must be between "1" and "500".
|
| + *
|
| + * [pageToken] - The token returned by the previous request.
|
| + *
|
| + * Completes with a [TurnBasedMatchSync].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<TurnBasedMatchSync> sync({core.bool includeMatchData, core.String language, core.int maxCompletedMatches, core.int maxResults, core.String pageToken}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (includeMatchData != null) {
|
| + _queryParams["includeMatchData"] = ["${includeMatchData}"];
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| + if (maxCompletedMatches != null) {
|
| + _queryParams["maxCompletedMatches"] = ["${maxCompletedMatches}"];
|
| + }
|
| + if (maxResults != null) {
|
| + _queryParams["maxResults"] = ["${maxResults}"];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| +
|
| +
|
| + _url = 'turnbasedmatches/sync';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TurnBasedMatchSync.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Commit the results of a player turn.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [matchId] - The ID of the match.
|
| + *
|
| + * [language] - The preferred language to use for strings returned by this
|
| + * method.
|
| + *
|
| + * Completes with a [TurnBasedMatch].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<TurnBasedMatch> takeTurn(TurnBasedMatchTurn request, core.String matchId, {core.String language}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (matchId == null) {
|
| + throw new core.ArgumentError("Parameter matchId is required.");
|
| + }
|
| + if (language != null) {
|
| + _queryParams["language"] = [language];
|
| + }
|
| +
|
| +
|
| + _url = 'turnbasedmatches/' + common_internal.Escaper.ecapeVariable('$matchId') + '/turn';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "PUT",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TurnBasedMatch.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +
|
| +/** This is a JSON template for an achievement definition object. */
|
| +class AchievementDefinition {
|
| + /**
|
| + * The type of the achievement.
|
| + * Possible values are:
|
| + * - "STANDARD" - Achievement is either locked or unlocked.
|
| + * - "INCREMENTAL" - Achievement is incremental.
|
| + */
|
| + core.String achievementType;
|
| +
|
| + /** The description of the achievement. */
|
| + core.String description;
|
| +
|
| + /**
|
| + * Experience points which will be earned when unlocking this achievement.
|
| + */
|
| + core.String experiencePoints;
|
| +
|
| + /** The total steps for an incremental achievement as a string. */
|
| + core.String formattedTotalSteps;
|
| +
|
| + /** The ID of the achievement. */
|
| + core.String id;
|
| +
|
| + /**
|
| + * The initial state of the achievement.
|
| + * Possible values are:
|
| + * - "HIDDEN" - Achievement is hidden.
|
| + * - "REVEALED" - Achievement is revealed.
|
| + * - "UNLOCKED" - Achievement is unlocked.
|
| + */
|
| + core.String initialState;
|
| +
|
| + /**
|
| + * Indicates whether the revealed icon image being returned is a default
|
| + * image, or is provided by the game.
|
| + */
|
| + core.bool isRevealedIconUrlDefault;
|
| +
|
| + /**
|
| + * Indicates whether the unlocked icon image being returned is a default
|
| + * image, or is game-provided.
|
| + */
|
| + core.bool isUnlockedIconUrlDefault;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#achievementDefinition.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The name of the achievement. */
|
| + core.String name;
|
| +
|
| + /** The image URL for the revealed achievement icon. */
|
| + core.String revealedIconUrl;
|
| +
|
| + /** The total steps for an incremental achievement. */
|
| + core.int totalSteps;
|
| +
|
| + /** The image URL for the unlocked achievement icon. */
|
| + core.String unlockedIconUrl;
|
| +
|
| +
|
| + AchievementDefinition();
|
| +
|
| + AchievementDefinition.fromJson(core.Map _json) {
|
| + if (_json.containsKey("achievementType")) {
|
| + achievementType = _json["achievementType"];
|
| + }
|
| + if (_json.containsKey("description")) {
|
| + description = _json["description"];
|
| + }
|
| + if (_json.containsKey("experiencePoints")) {
|
| + experiencePoints = _json["experiencePoints"];
|
| + }
|
| + if (_json.containsKey("formattedTotalSteps")) {
|
| + formattedTotalSteps = _json["formattedTotalSteps"];
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("initialState")) {
|
| + initialState = _json["initialState"];
|
| + }
|
| + if (_json.containsKey("isRevealedIconUrlDefault")) {
|
| + isRevealedIconUrlDefault = _json["isRevealedIconUrlDefault"];
|
| + }
|
| + if (_json.containsKey("isUnlockedIconUrlDefault")) {
|
| + isUnlockedIconUrlDefault = _json["isUnlockedIconUrlDefault"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("revealedIconUrl")) {
|
| + revealedIconUrl = _json["revealedIconUrl"];
|
| + }
|
| + if (_json.containsKey("totalSteps")) {
|
| + totalSteps = _json["totalSteps"];
|
| + }
|
| + if (_json.containsKey("unlockedIconUrl")) {
|
| + unlockedIconUrl = _json["unlockedIconUrl"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (achievementType != null) {
|
| + _json["achievementType"] = achievementType;
|
| + }
|
| + if (description != null) {
|
| + _json["description"] = description;
|
| + }
|
| + if (experiencePoints != null) {
|
| + _json["experiencePoints"] = experiencePoints;
|
| + }
|
| + if (formattedTotalSteps != null) {
|
| + _json["formattedTotalSteps"] = formattedTotalSteps;
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (initialState != null) {
|
| + _json["initialState"] = initialState;
|
| + }
|
| + if (isRevealedIconUrlDefault != null) {
|
| + _json["isRevealedIconUrlDefault"] = isRevealedIconUrlDefault;
|
| + }
|
| + if (isUnlockedIconUrlDefault != null) {
|
| + _json["isUnlockedIconUrlDefault"] = isUnlockedIconUrlDefault;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (revealedIconUrl != null) {
|
| + _json["revealedIconUrl"] = revealedIconUrl;
|
| + }
|
| + if (totalSteps != null) {
|
| + _json["totalSteps"] = totalSteps;
|
| + }
|
| + if (unlockedIconUrl != null) {
|
| + _json["unlockedIconUrl"] = unlockedIconUrl;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of achievement definition objects. */
|
| +class AchievementDefinitionsListResponse {
|
| + /** The achievement definitions. */
|
| + core.List<AchievementDefinition> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#achievementDefinitionsListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Token corresponding to the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + AchievementDefinitionsListResponse();
|
| +
|
| + AchievementDefinitionsListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new AchievementDefinition.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an achievement increment response */
|
| +class AchievementIncrementResponse {
|
| + /** The current steps recorded for this incremental achievement. */
|
| + core.int currentSteps;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#achievementIncrementResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * Whether the the current steps for the achievement has reached the number of
|
| + * steps required to unlock.
|
| + */
|
| + core.bool newlyUnlocked;
|
| +
|
| +
|
| + AchievementIncrementResponse();
|
| +
|
| + AchievementIncrementResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("currentSteps")) {
|
| + currentSteps = _json["currentSteps"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("newlyUnlocked")) {
|
| + newlyUnlocked = _json["newlyUnlocked"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (currentSteps != null) {
|
| + _json["currentSteps"] = currentSteps;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (newlyUnlocked != null) {
|
| + _json["newlyUnlocked"] = newlyUnlocked;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an achievement reveal response */
|
| +class AchievementRevealResponse {
|
| + /**
|
| + * The current state of the achievement for which a reveal was attempted. This
|
| + * might be UNLOCKED if the achievement was already unlocked.
|
| + * Possible values are:
|
| + * - "REVEALED" - Achievement is revealed.
|
| + * - "UNLOCKED" - Achievement is unlocked.
|
| + */
|
| + core.String currentState;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#achievementRevealResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + AchievementRevealResponse();
|
| +
|
| + AchievementRevealResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("currentState")) {
|
| + currentState = _json["currentState"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (currentState != null) {
|
| + _json["currentState"] = currentState;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an achievement set steps at least response. */
|
| +class AchievementSetStepsAtLeastResponse {
|
| + /** The current steps recorded for this incremental achievement. */
|
| + core.int currentSteps;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#achievementSetStepsAtLeastResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * Whether the the current steps for the achievement has reached the number of
|
| + * steps required to unlock.
|
| + */
|
| + core.bool newlyUnlocked;
|
| +
|
| +
|
| + AchievementSetStepsAtLeastResponse();
|
| +
|
| + AchievementSetStepsAtLeastResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("currentSteps")) {
|
| + currentSteps = _json["currentSteps"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("newlyUnlocked")) {
|
| + newlyUnlocked = _json["newlyUnlocked"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (currentSteps != null) {
|
| + _json["currentSteps"] = currentSteps;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (newlyUnlocked != null) {
|
| + _json["newlyUnlocked"] = newlyUnlocked;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an achievement unlock response */
|
| +class AchievementUnlockResponse {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#achievementUnlockResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * Whether this achievement was newly unlocked (that is, whether the unlock
|
| + * request for the achievement was the first for the player).
|
| + */
|
| + core.bool newlyUnlocked;
|
| +
|
| +
|
| + AchievementUnlockResponse();
|
| +
|
| + AchievementUnlockResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("newlyUnlocked")) {
|
| + newlyUnlocked = _json["newlyUnlocked"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (newlyUnlocked != null) {
|
| + _json["newlyUnlocked"] = newlyUnlocked;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of achievement update requests. */
|
| +class AchievementUpdateMultipleRequest {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#achievementUpdateMultipleRequest.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The individual achievement update requests. */
|
| + core.List<AchievementUpdateRequest> updates;
|
| +
|
| +
|
| + AchievementUpdateMultipleRequest();
|
| +
|
| + AchievementUpdateMultipleRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("updates")) {
|
| + updates = _json["updates"].map((value) => new AchievementUpdateRequest.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (updates != null) {
|
| + _json["updates"] = updates.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an achievement unlock response. */
|
| +class AchievementUpdateMultipleResponse {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#achievementUpdateListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The updated state of the achievements. */
|
| + core.List<AchievementUpdateResponse> updatedAchievements;
|
| +
|
| +
|
| + AchievementUpdateMultipleResponse();
|
| +
|
| + AchievementUpdateMultipleResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("updatedAchievements")) {
|
| + updatedAchievements = _json["updatedAchievements"].map((value) => new AchievementUpdateResponse.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (updatedAchievements != null) {
|
| + _json["updatedAchievements"] = updatedAchievements.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a request to update an achievement. */
|
| +class AchievementUpdateRequest {
|
| + /** The achievement this update is being applied to. */
|
| + core.String achievementId;
|
| +
|
| + /**
|
| + * The payload if an update of type INCREMENT was requested for the
|
| + * achievement.
|
| + */
|
| + GamesAchievementIncrement incrementPayload;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#achievementUpdateRequest.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The payload if an update of type SET_STEPS_AT_LEAST was requested for the
|
| + * achievement.
|
| + */
|
| + GamesAchievementSetStepsAtLeast setStepsAtLeastPayload;
|
| +
|
| + /**
|
| + * The type of update being applied.
|
| + * Possible values are:
|
| + * - "REVEAL" - Achievement is revealed.
|
| + * - "UNLOCK" - Achievement is unlocked.
|
| + * - "INCREMENT" - Achievement is incremented.
|
| + * - "SET_STEPS_AT_LEAST" - Achievement progress is set to at least the passed
|
| + * value.
|
| + */
|
| + core.String updateType;
|
| +
|
| +
|
| + AchievementUpdateRequest();
|
| +
|
| + AchievementUpdateRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("achievementId")) {
|
| + achievementId = _json["achievementId"];
|
| + }
|
| + if (_json.containsKey("incrementPayload")) {
|
| + incrementPayload = new GamesAchievementIncrement.fromJson(_json["incrementPayload"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("setStepsAtLeastPayload")) {
|
| + setStepsAtLeastPayload = new GamesAchievementSetStepsAtLeast.fromJson(_json["setStepsAtLeastPayload"]);
|
| + }
|
| + if (_json.containsKey("updateType")) {
|
| + updateType = _json["updateType"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (achievementId != null) {
|
| + _json["achievementId"] = achievementId;
|
| + }
|
| + if (incrementPayload != null) {
|
| + _json["incrementPayload"] = (incrementPayload).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (setStepsAtLeastPayload != null) {
|
| + _json["setStepsAtLeastPayload"] = (setStepsAtLeastPayload).toJson();
|
| + }
|
| + if (updateType != null) {
|
| + _json["updateType"] = updateType;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an achievement update response. */
|
| +class AchievementUpdateResponse {
|
| + /** The achievement this update is was applied to. */
|
| + core.String achievementId;
|
| +
|
| + /**
|
| + * The current state of the achievement.
|
| + * Possible values are:
|
| + * - "HIDDEN" - Achievement is hidden.
|
| + * - "REVEALED" - Achievement is revealed.
|
| + * - "UNLOCKED" - Achievement is unlocked.
|
| + */
|
| + core.String currentState;
|
| +
|
| + /** The current steps recorded for this achievement if it is incremental. */
|
| + core.int currentSteps;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#achievementUpdateResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * Whether this achievement was newly unlocked (that is, whether the unlock
|
| + * request for the achievement was the first for the player).
|
| + */
|
| + core.bool newlyUnlocked;
|
| +
|
| + /** Whether the requested updates actually affected the achievement. */
|
| + core.bool updateOccurred;
|
| +
|
| +
|
| + AchievementUpdateResponse();
|
| +
|
| + AchievementUpdateResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("achievementId")) {
|
| + achievementId = _json["achievementId"];
|
| + }
|
| + if (_json.containsKey("currentState")) {
|
| + currentState = _json["currentState"];
|
| + }
|
| + if (_json.containsKey("currentSteps")) {
|
| + currentSteps = _json["currentSteps"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("newlyUnlocked")) {
|
| + newlyUnlocked = _json["newlyUnlocked"];
|
| + }
|
| + if (_json.containsKey("updateOccurred")) {
|
| + updateOccurred = _json["updateOccurred"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (achievementId != null) {
|
| + _json["achievementId"] = achievementId;
|
| + }
|
| + if (currentState != null) {
|
| + _json["currentState"] = currentState;
|
| + }
|
| + if (currentSteps != null) {
|
| + _json["currentSteps"] = currentSteps;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (newlyUnlocked != null) {
|
| + _json["newlyUnlocked"] = newlyUnlocked;
|
| + }
|
| + if (updateOccurred != null) {
|
| + _json["updateOccurred"] = updateOccurred;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for aggregate stats. */
|
| +class AggregateStats {
|
| + /** The number of messages sent between a pair of peers. */
|
| + core.String count;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#aggregateStats.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The maximum amount. */
|
| + core.String max;
|
| +
|
| + /** The minimum amount. */
|
| + core.String min;
|
| +
|
| + /** The total number of bytes sent for messages between a pair of peers. */
|
| + core.String sum;
|
| +
|
| +
|
| + AggregateStats();
|
| +
|
| + AggregateStats.fromJson(core.Map _json) {
|
| + if (_json.containsKey("count")) {
|
| + count = _json["count"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("max")) {
|
| + max = _json["max"];
|
| + }
|
| + if (_json.containsKey("min")) {
|
| + min = _json["min"];
|
| + }
|
| + if (_json.containsKey("sum")) {
|
| + sum = _json["sum"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (count != null) {
|
| + _json["count"] = count;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (max != null) {
|
| + _json["max"] = max;
|
| + }
|
| + if (min != null) {
|
| + _json["min"] = min;
|
| + }
|
| + if (sum != null) {
|
| + _json["sum"] = sum;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an anonymous player */
|
| +class AnonymousPlayer {
|
| + /** The base URL for the image to display for the anonymous player. */
|
| + core.String avatarImageUrl;
|
| +
|
| + /** The name to display for the anonymous player. */
|
| + core.String displayName;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#anonymousPlayer.
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + AnonymousPlayer();
|
| +
|
| + AnonymousPlayer.fromJson(core.Map _json) {
|
| + if (_json.containsKey("avatarImageUrl")) {
|
| + avatarImageUrl = _json["avatarImageUrl"];
|
| + }
|
| + if (_json.containsKey("displayName")) {
|
| + displayName = _json["displayName"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (avatarImageUrl != null) {
|
| + _json["avatarImageUrl"] = avatarImageUrl;
|
| + }
|
| + if (displayName != null) {
|
| + _json["displayName"] = displayName;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for the Application resource. */
|
| +class Application {
|
| + /**
|
| + * The number of achievements visible to the currently authenticated player.
|
| + */
|
| + core.int achievementCount;
|
| +
|
| + /** The assets of the application. */
|
| + core.List<ImageAsset> assets;
|
| +
|
| + /** The author of the application. */
|
| + core.String author;
|
| +
|
| + /** The category of the application. */
|
| + ApplicationCategory category;
|
| +
|
| + /** The description of the application. */
|
| + core.String description;
|
| +
|
| + /**
|
| + * A list of features that have been enabled for the application.
|
| + * Possible values are:
|
| + * - "SNAPSHOTS" - Snapshots has been enabled
|
| + */
|
| + core.List<core.String> enabledFeatures;
|
| +
|
| + /** The ID of the application. */
|
| + core.String id;
|
| +
|
| + /** The instances of the application. */
|
| + core.List<Instance> instances;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#application.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The last updated timestamp of the application. */
|
| + core.String lastUpdatedTimestamp;
|
| +
|
| + /**
|
| + * The number of leaderboards visible to the currently authenticated player.
|
| + */
|
| + core.int leaderboardCount;
|
| +
|
| + /** The name of the application. */
|
| + core.String name;
|
| +
|
| +
|
| + Application();
|
| +
|
| + Application.fromJson(core.Map _json) {
|
| + if (_json.containsKey("achievement_count")) {
|
| + achievementCount = _json["achievement_count"];
|
| + }
|
| + if (_json.containsKey("assets")) {
|
| + assets = _json["assets"].map((value) => new ImageAsset.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("author")) {
|
| + author = _json["author"];
|
| + }
|
| + if (_json.containsKey("category")) {
|
| + category = new ApplicationCategory.fromJson(_json["category"]);
|
| + }
|
| + if (_json.containsKey("description")) {
|
| + description = _json["description"];
|
| + }
|
| + if (_json.containsKey("enabledFeatures")) {
|
| + enabledFeatures = _json["enabledFeatures"];
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("instances")) {
|
| + instances = _json["instances"].map((value) => new Instance.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("lastUpdatedTimestamp")) {
|
| + lastUpdatedTimestamp = _json["lastUpdatedTimestamp"];
|
| + }
|
| + if (_json.containsKey("leaderboard_count")) {
|
| + leaderboardCount = _json["leaderboard_count"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (achievementCount != null) {
|
| + _json["achievement_count"] = achievementCount;
|
| + }
|
| + if (assets != null) {
|
| + _json["assets"] = assets.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (author != null) {
|
| + _json["author"] = author;
|
| + }
|
| + if (category != null) {
|
| + _json["category"] = (category).toJson();
|
| + }
|
| + if (description != null) {
|
| + _json["description"] = description;
|
| + }
|
| + if (enabledFeatures != null) {
|
| + _json["enabledFeatures"] = enabledFeatures;
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (instances != null) {
|
| + _json["instances"] = instances.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (lastUpdatedTimestamp != null) {
|
| + _json["lastUpdatedTimestamp"] = lastUpdatedTimestamp;
|
| + }
|
| + if (leaderboardCount != null) {
|
| + _json["leaderboard_count"] = leaderboardCount;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an application category object. */
|
| +class ApplicationCategory {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#applicationCategory.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The primary category. */
|
| + core.String primary;
|
| +
|
| + /** The secondary category. */
|
| + core.String secondary;
|
| +
|
| +
|
| + ApplicationCategory();
|
| +
|
| + ApplicationCategory.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("primary")) {
|
| + primary = _json["primary"];
|
| + }
|
| + if (_json.containsKey("secondary")) {
|
| + secondary = _json["secondary"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (primary != null) {
|
| + _json["primary"] = primary;
|
| + }
|
| + if (secondary != null) {
|
| + _json["secondary"] = secondary;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for data related to individual game categories. */
|
| +class Category {
|
| + /** The category name. */
|
| + core.String category;
|
| +
|
| + /** Experience points earned in this category. */
|
| + core.String experiencePoints;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#category.
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + Category();
|
| +
|
| + Category.fromJson(core.Map _json) {
|
| + if (_json.containsKey("category")) {
|
| + category = _json["category"];
|
| + }
|
| + if (_json.containsKey("experiencePoints")) {
|
| + experiencePoints = _json["experiencePoints"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (category != null) {
|
| + _json["category"] = category;
|
| + }
|
| + if (experiencePoints != null) {
|
| + _json["experiencePoints"] = experiencePoints;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of category data objects. */
|
| +class CategoryListResponse {
|
| + /** The list of categories with usage data. */
|
| + core.List<Category> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#categoryListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Token corresponding to the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + CategoryListResponse();
|
| +
|
| + CategoryListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new Category.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a batch update failure resource. */
|
| +class EventBatchRecordFailure {
|
| + /**
|
| + * The cause for the update failure.
|
| + * Possible values are:
|
| + * - "TOO_LARGE": A batch request was issued with more events than are allowed
|
| + * in a single batch.
|
| + * - "TIME_PERIOD_EXPIRED": A batch was sent with data too far in the past to
|
| + * record.
|
| + * - "TIME_PERIOD_SHORT": A batch was sent with a time range that was too
|
| + * short.
|
| + * - "TIME_PERIOD_LONG": A batch was sent with a time range that was too long.
|
| + * - "ALREADY_UPDATED": An attempt was made to record a batch of data which
|
| + * was already seen.
|
| + * - "RECORD_RATE_HIGH": An attempt was made to record data faster than the
|
| + * server will apply updates.
|
| + */
|
| + core.String failureCause;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#eventBatchRecordFailure.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The time range which was rejected; empty for a request-wide failure. */
|
| + EventPeriodRange range;
|
| +
|
| +
|
| + EventBatchRecordFailure();
|
| +
|
| + EventBatchRecordFailure.fromJson(core.Map _json) {
|
| + if (_json.containsKey("failureCause")) {
|
| + failureCause = _json["failureCause"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("range")) {
|
| + range = new EventPeriodRange.fromJson(_json["range"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (failureCause != null) {
|
| + _json["failureCause"] = failureCause;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (range != null) {
|
| + _json["range"] = (range).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an event child relationship resource. */
|
| +class EventChild {
|
| + /** The ID of the child event. */
|
| + core.String childId;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#eventChild.
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + EventChild();
|
| +
|
| + EventChild.fromJson(core.Map _json) {
|
| + if (_json.containsKey("childId")) {
|
| + childId = _json["childId"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (childId != null) {
|
| + _json["childId"] = childId;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an event definition resource. */
|
| +class EventDefinition {
|
| + /** A list of events that are a child of this event. */
|
| + core.List<EventChild> childEvents;
|
| +
|
| + /** Description of what this event represents. */
|
| + core.String description;
|
| +
|
| + /** The name to display for the event. */
|
| + core.String displayName;
|
| +
|
| + /** The ID of the event. */
|
| + core.String id;
|
| +
|
| + /** The base URL for the image that represents the event. */
|
| + core.String imageUrl;
|
| +
|
| + /**
|
| + * Indicates whether the icon image being returned is a default image, or is
|
| + * game-provided.
|
| + */
|
| + core.bool isDefaultImageUrl;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#eventDefinition.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The visibility of event being tracked in this definition.
|
| + * Possible values are:
|
| + * - "REVEALED": This event should be visible to all users.
|
| + * - "HIDDEN": This event should only be shown to users that have recorded
|
| + * this event at least once.
|
| + */
|
| + core.String visibility;
|
| +
|
| +
|
| + EventDefinition();
|
| +
|
| + EventDefinition.fromJson(core.Map _json) {
|
| + if (_json.containsKey("childEvents")) {
|
| + childEvents = _json["childEvents"].map((value) => new EventChild.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("description")) {
|
| + description = _json["description"];
|
| + }
|
| + if (_json.containsKey("displayName")) {
|
| + displayName = _json["displayName"];
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("imageUrl")) {
|
| + imageUrl = _json["imageUrl"];
|
| + }
|
| + if (_json.containsKey("isDefaultImageUrl")) {
|
| + isDefaultImageUrl = _json["isDefaultImageUrl"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("visibility")) {
|
| + visibility = _json["visibility"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (childEvents != null) {
|
| + _json["childEvents"] = childEvents.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (description != null) {
|
| + _json["description"] = description;
|
| + }
|
| + if (displayName != null) {
|
| + _json["displayName"] = displayName;
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (imageUrl != null) {
|
| + _json["imageUrl"] = imageUrl;
|
| + }
|
| + if (isDefaultImageUrl != null) {
|
| + _json["isDefaultImageUrl"] = isDefaultImageUrl;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (visibility != null) {
|
| + _json["visibility"] = visibility;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a ListDefinitions response. */
|
| +class EventDefinitionListResponse {
|
| + /** The event definitions. */
|
| + core.List<EventDefinition> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#eventDefinitionListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The pagination token for the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + EventDefinitionListResponse();
|
| +
|
| + EventDefinitionListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new EventDefinition.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an event period time range. */
|
| +class EventPeriodRange {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#eventPeriodRange.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The time when this update period ends, in millis, since 1970 UTC (Unix
|
| + * Epoch).
|
| + */
|
| + core.String periodEndMillis;
|
| +
|
| + /**
|
| + * The time when this update period begins, in millis, since 1970 UTC (Unix
|
| + * Epoch).
|
| + */
|
| + core.String periodStartMillis;
|
| +
|
| +
|
| + EventPeriodRange();
|
| +
|
| + EventPeriodRange.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("periodEndMillis")) {
|
| + periodEndMillis = _json["periodEndMillis"];
|
| + }
|
| + if (_json.containsKey("periodStartMillis")) {
|
| + periodStartMillis = _json["periodStartMillis"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (periodEndMillis != null) {
|
| + _json["periodEndMillis"] = periodEndMillis;
|
| + }
|
| + if (periodStartMillis != null) {
|
| + _json["periodStartMillis"] = periodStartMillis;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an event period update resource. */
|
| +class EventPeriodUpdate {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#eventPeriodUpdate.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The time period being covered by this update. */
|
| + EventPeriodRange timePeriod;
|
| +
|
| + /** The updates being made for this time period. */
|
| + core.List<EventUpdateRequest> updates;
|
| +
|
| +
|
| + EventPeriodUpdate();
|
| +
|
| + EventPeriodUpdate.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("timePeriod")) {
|
| + timePeriod = new EventPeriodRange.fromJson(_json["timePeriod"]);
|
| + }
|
| + if (_json.containsKey("updates")) {
|
| + updates = _json["updates"].map((value) => new EventUpdateRequest.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (timePeriod != null) {
|
| + _json["timePeriod"] = (timePeriod).toJson();
|
| + }
|
| + if (updates != null) {
|
| + _json["updates"] = updates.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an event update failure resource. */
|
| +class EventRecordFailure {
|
| + /** The ID of the event that was not updated. */
|
| + core.String eventId;
|
| +
|
| + /**
|
| + * The cause for the update failure.
|
| + * Possible values are:
|
| + * - "NOT_FOUND" - An attempt was made to set an event that was not defined.
|
| + * - "INVALID_UPDATE_VALUE" - An attempt was made to increment an event by a
|
| + * non-positive value.
|
| + */
|
| + core.String failureCause;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#eventRecordFailure.
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + EventRecordFailure();
|
| +
|
| + EventRecordFailure.fromJson(core.Map _json) {
|
| + if (_json.containsKey("eventId")) {
|
| + eventId = _json["eventId"];
|
| + }
|
| + if (_json.containsKey("failureCause")) {
|
| + failureCause = _json["failureCause"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (eventId != null) {
|
| + _json["eventId"] = eventId;
|
| + }
|
| + if (failureCause != null) {
|
| + _json["failureCause"] = failureCause;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an event period update resource. */
|
| +class EventRecordRequest {
|
| + /**
|
| + * The current time when this update was sent, in milliseconds, since 1970 UTC
|
| + * (Unix Epoch).
|
| + */
|
| + core.String currentTimeMillis;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#eventRecordRequest.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The request ID used to identify this attempt to record events. */
|
| + core.String requestId;
|
| +
|
| + /** A list of the time period updates being made in this request. */
|
| + core.List<EventPeriodUpdate> timePeriods;
|
| +
|
| +
|
| + EventRecordRequest();
|
| +
|
| + EventRecordRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("currentTimeMillis")) {
|
| + currentTimeMillis = _json["currentTimeMillis"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("requestId")) {
|
| + requestId = _json["requestId"];
|
| + }
|
| + if (_json.containsKey("timePeriods")) {
|
| + timePeriods = _json["timePeriods"].map((value) => new EventPeriodUpdate.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (currentTimeMillis != null) {
|
| + _json["currentTimeMillis"] = currentTimeMillis;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (requestId != null) {
|
| + _json["requestId"] = requestId;
|
| + }
|
| + if (timePeriods != null) {
|
| + _json["timePeriods"] = timePeriods.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an event period update resource. */
|
| +class EventUpdateRequest {
|
| + /** The ID of the event being modified in this update. */
|
| + core.String definitionId;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#eventUpdateRequest.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The number of times this event occurred in this time period. */
|
| + core.String updateCount;
|
| +
|
| +
|
| + EventUpdateRequest();
|
| +
|
| + EventUpdateRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("definitionId")) {
|
| + definitionId = _json["definitionId"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("updateCount")) {
|
| + updateCount = _json["updateCount"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (definitionId != null) {
|
| + _json["definitionId"] = definitionId;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (updateCount != null) {
|
| + _json["updateCount"] = updateCount;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an event period update resource. */
|
| +class EventUpdateResponse {
|
| + /** Any batch-wide failures which occurred applying updates. */
|
| + core.List<EventBatchRecordFailure> batchFailures;
|
| +
|
| + /** Any failures updating a particular event. */
|
| + core.List<EventRecordFailure> eventFailures;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#eventUpdateResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The current status of any updated events */
|
| + core.List<PlayerEvent> playerEvents;
|
| +
|
| +
|
| + EventUpdateResponse();
|
| +
|
| + EventUpdateResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batchFailures")) {
|
| + batchFailures = _json["batchFailures"].map((value) => new EventBatchRecordFailure.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("eventFailures")) {
|
| + eventFailures = _json["eventFailures"].map((value) => new EventRecordFailure.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("playerEvents")) {
|
| + playerEvents = _json["playerEvents"].map((value) => new PlayerEvent.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batchFailures != null) {
|
| + _json["batchFailures"] = batchFailures.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (eventFailures != null) {
|
| + _json["eventFailures"] = eventFailures.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (playerEvents != null) {
|
| + _json["playerEvents"] = playerEvents.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * This is a JSON template for the payload to request to increment an
|
| + * achievement.
|
| + */
|
| +class GamesAchievementIncrement {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#GamesAchievementIncrement.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The requestId associated with an increment to an achievement. */
|
| + core.String requestId;
|
| +
|
| + /** The number of steps to be incremented. */
|
| + core.int steps;
|
| +
|
| +
|
| + GamesAchievementIncrement();
|
| +
|
| + GamesAchievementIncrement.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("requestId")) {
|
| + requestId = _json["requestId"];
|
| + }
|
| + if (_json.containsKey("steps")) {
|
| + steps = _json["steps"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (requestId != null) {
|
| + _json["requestId"] = requestId;
|
| + }
|
| + if (steps != null) {
|
| + _json["steps"] = steps;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * This is a JSON template for the payload to request to increment an
|
| + * achievement.
|
| + */
|
| +class GamesAchievementSetStepsAtLeast {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#GamesAchievementSetStepsAtLeast.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The minimum number of steps for the achievement to be set to. */
|
| + core.int steps;
|
| +
|
| +
|
| + GamesAchievementSetStepsAtLeast();
|
| +
|
| + GamesAchievementSetStepsAtLeast.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("steps")) {
|
| + steps = _json["steps"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (steps != null) {
|
| + _json["steps"] = steps;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an image asset object. */
|
| +class ImageAsset {
|
| + /** The height of the asset. */
|
| + core.int height;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#imageAsset.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The name of the asset. */
|
| + core.String name;
|
| +
|
| + /** The URL of the asset. */
|
| + core.String url;
|
| +
|
| + /** The width of the asset. */
|
| + core.int width;
|
| +
|
| +
|
| + ImageAsset();
|
| +
|
| + ImageAsset.fromJson(core.Map _json) {
|
| + if (_json.containsKey("height")) {
|
| + height = _json["height"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("url")) {
|
| + url = _json["url"];
|
| + }
|
| + if (_json.containsKey("width")) {
|
| + width = _json["width"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (height != null) {
|
| + _json["height"] = height;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (url != null) {
|
| + _json["url"] = url;
|
| + }
|
| + if (width != null) {
|
| + _json["width"] = width;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for the Instance resource. */
|
| +class Instance {
|
| + /** URI which shows where a user can acquire this instance. */
|
| + core.String acquisitionUri;
|
| +
|
| + /** Platform dependent details for Android. */
|
| + InstanceAndroidDetails androidInstance;
|
| +
|
| + /** Platform dependent details for iOS. */
|
| + InstanceIosDetails iosInstance;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#instance.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Localized display name. */
|
| + core.String name;
|
| +
|
| + /**
|
| + * The platform type.
|
| + * Possible values are:
|
| + * - "ANDROID" - Instance is for Android.
|
| + * - "IOS" - Instance is for iOS
|
| + * - "WEB_APP" - Instance is for Web App.
|
| + */
|
| + core.String platformType;
|
| +
|
| + /** Flag to show if this game instance supports realtime play. */
|
| + core.bool realtimePlay;
|
| +
|
| + /** Flag to show if this game instance supports turn based play. */
|
| + core.bool turnBasedPlay;
|
| +
|
| + /** Platform dependent details for Web. */
|
| + InstanceWebDetails webInstance;
|
| +
|
| +
|
| + Instance();
|
| +
|
| + Instance.fromJson(core.Map _json) {
|
| + if (_json.containsKey("acquisitionUri")) {
|
| + acquisitionUri = _json["acquisitionUri"];
|
| + }
|
| + if (_json.containsKey("androidInstance")) {
|
| + androidInstance = new InstanceAndroidDetails.fromJson(_json["androidInstance"]);
|
| + }
|
| + if (_json.containsKey("iosInstance")) {
|
| + iosInstance = new InstanceIosDetails.fromJson(_json["iosInstance"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("platformType")) {
|
| + platformType = _json["platformType"];
|
| + }
|
| + if (_json.containsKey("realtimePlay")) {
|
| + realtimePlay = _json["realtimePlay"];
|
| + }
|
| + if (_json.containsKey("turnBasedPlay")) {
|
| + turnBasedPlay = _json["turnBasedPlay"];
|
| + }
|
| + if (_json.containsKey("webInstance")) {
|
| + webInstance = new InstanceWebDetails.fromJson(_json["webInstance"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (acquisitionUri != null) {
|
| + _json["acquisitionUri"] = acquisitionUri;
|
| + }
|
| + if (androidInstance != null) {
|
| + _json["androidInstance"] = (androidInstance).toJson();
|
| + }
|
| + if (iosInstance != null) {
|
| + _json["iosInstance"] = (iosInstance).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (platformType != null) {
|
| + _json["platformType"] = platformType;
|
| + }
|
| + if (realtimePlay != null) {
|
| + _json["realtimePlay"] = realtimePlay;
|
| + }
|
| + if (turnBasedPlay != null) {
|
| + _json["turnBasedPlay"] = turnBasedPlay;
|
| + }
|
| + if (webInstance != null) {
|
| + _json["webInstance"] = (webInstance).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for the Android instance details resource. */
|
| +class InstanceAndroidDetails {
|
| + /** Flag indicating whether the anti-piracy check is enabled. */
|
| + core.bool enablePiracyCheck;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#instanceAndroidDetails.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Android package name which maps to Google Play URL. */
|
| + core.String packageName;
|
| +
|
| + /** Indicates that this instance is the default for new installations. */
|
| + core.bool preferred;
|
| +
|
| +
|
| + InstanceAndroidDetails();
|
| +
|
| + InstanceAndroidDetails.fromJson(core.Map _json) {
|
| + if (_json.containsKey("enablePiracyCheck")) {
|
| + enablePiracyCheck = _json["enablePiracyCheck"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("packageName")) {
|
| + packageName = _json["packageName"];
|
| + }
|
| + if (_json.containsKey("preferred")) {
|
| + preferred = _json["preferred"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (enablePiracyCheck != null) {
|
| + _json["enablePiracyCheck"] = enablePiracyCheck;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (packageName != null) {
|
| + _json["packageName"] = packageName;
|
| + }
|
| + if (preferred != null) {
|
| + _json["preferred"] = preferred;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for the iOS details resource. */
|
| +class InstanceIosDetails {
|
| + /** Bundle identifier. */
|
| + core.String bundleIdentifier;
|
| +
|
| + /** iTunes App ID. */
|
| + core.String itunesAppId;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#instanceIosDetails.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * Indicates that this instance is the default for new installations on iPad
|
| + * devices.
|
| + */
|
| + core.bool preferredForIpad;
|
| +
|
| + /**
|
| + * Indicates that this instance is the default for new installations on iPhone
|
| + * devices.
|
| + */
|
| + core.bool preferredForIphone;
|
| +
|
| + /** Flag to indicate if this instance supports iPad. */
|
| + core.bool supportIpad;
|
| +
|
| + /** Flag to indicate if this instance supports iPhone. */
|
| + core.bool supportIphone;
|
| +
|
| +
|
| + InstanceIosDetails();
|
| +
|
| + InstanceIosDetails.fromJson(core.Map _json) {
|
| + if (_json.containsKey("bundleIdentifier")) {
|
| + bundleIdentifier = _json["bundleIdentifier"];
|
| + }
|
| + if (_json.containsKey("itunesAppId")) {
|
| + itunesAppId = _json["itunesAppId"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("preferredForIpad")) {
|
| + preferredForIpad = _json["preferredForIpad"];
|
| + }
|
| + if (_json.containsKey("preferredForIphone")) {
|
| + preferredForIphone = _json["preferredForIphone"];
|
| + }
|
| + if (_json.containsKey("supportIpad")) {
|
| + supportIpad = _json["supportIpad"];
|
| + }
|
| + if (_json.containsKey("supportIphone")) {
|
| + supportIphone = _json["supportIphone"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (bundleIdentifier != null) {
|
| + _json["bundleIdentifier"] = bundleIdentifier;
|
| + }
|
| + if (itunesAppId != null) {
|
| + _json["itunesAppId"] = itunesAppId;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (preferredForIpad != null) {
|
| + _json["preferredForIpad"] = preferredForIpad;
|
| + }
|
| + if (preferredForIphone != null) {
|
| + _json["preferredForIphone"] = preferredForIphone;
|
| + }
|
| + if (supportIpad != null) {
|
| + _json["supportIpad"] = supportIpad;
|
| + }
|
| + if (supportIphone != null) {
|
| + _json["supportIphone"] = supportIphone;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for the Web details resource. */
|
| +class InstanceWebDetails {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#instanceWebDetails.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Launch URL for the game. */
|
| + core.String launchUrl;
|
| +
|
| + /** Indicates that this instance is the default for new installations. */
|
| + core.bool preferred;
|
| +
|
| +
|
| + InstanceWebDetails();
|
| +
|
| + InstanceWebDetails.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("launchUrl")) {
|
| + launchUrl = _json["launchUrl"];
|
| + }
|
| + if (_json.containsKey("preferred")) {
|
| + preferred = _json["preferred"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (launchUrl != null) {
|
| + _json["launchUrl"] = launchUrl;
|
| + }
|
| + if (preferred != null) {
|
| + _json["preferred"] = preferred;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for the Leaderboard resource. */
|
| +class Leaderboard {
|
| + /** The icon for the leaderboard. */
|
| + core.String iconUrl;
|
| +
|
| + /** The leaderboard ID. */
|
| + core.String id;
|
| +
|
| + /**
|
| + * Indicates whether the icon image being returned is a default image, or is
|
| + * game-provided.
|
| + */
|
| + core.bool isIconUrlDefault;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#leaderboard.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The name of the leaderboard. */
|
| + core.String name;
|
| +
|
| + /**
|
| + * How scores are ordered.
|
| + * Possible values are:
|
| + * - "LARGER_IS_BETTER" - Larger values are better; scores are sorted in
|
| + * descending order.
|
| + * - "SMALLER_IS_BETTER" - Smaller values are better; scores are sorted in
|
| + * ascending order.
|
| + */
|
| + core.String order;
|
| +
|
| +
|
| + Leaderboard();
|
| +
|
| + Leaderboard.fromJson(core.Map _json) {
|
| + if (_json.containsKey("iconUrl")) {
|
| + iconUrl = _json["iconUrl"];
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("isIconUrlDefault")) {
|
| + isIconUrlDefault = _json["isIconUrlDefault"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("order")) {
|
| + order = _json["order"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (iconUrl != null) {
|
| + _json["iconUrl"] = iconUrl;
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (isIconUrlDefault != null) {
|
| + _json["isIconUrlDefault"] = isIconUrlDefault;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (order != null) {
|
| + _json["order"] = order;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for the Leaderboard Entry resource. */
|
| +class LeaderboardEntry {
|
| + /** The localized string for the numerical value of this score. */
|
| + core.String formattedScore;
|
| +
|
| + /** The localized string for the rank of this score for this leaderboard. */
|
| + core.String formattedScoreRank;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#leaderboardEntry.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The player who holds this score. */
|
| + Player player;
|
| +
|
| + /** The rank of this score for this leaderboard. */
|
| + core.String scoreRank;
|
| +
|
| + /**
|
| + * Additional information about the score. Values must contain no more than 64
|
| + * URI-safe characters as defined by section 2.3 of RFC 3986.
|
| + */
|
| + core.String scoreTag;
|
| +
|
| + /** The numerical value of this score. */
|
| + core.String scoreValue;
|
| +
|
| + /**
|
| + * The time span of this high score.
|
| + * Possible values are:
|
| + * - "ALL_TIME" - The score is an all-time high score.
|
| + * - "WEEKLY" - The score is a weekly high score.
|
| + * - "DAILY" - The score is a daily high score.
|
| + */
|
| + core.String timeSpan;
|
| +
|
| + /**
|
| + * The timestamp at which this score was recorded, in milliseconds since the
|
| + * epoch in UTC.
|
| + */
|
| + core.String writeTimestampMillis;
|
| +
|
| +
|
| + LeaderboardEntry();
|
| +
|
| + LeaderboardEntry.fromJson(core.Map _json) {
|
| + if (_json.containsKey("formattedScore")) {
|
| + formattedScore = _json["formattedScore"];
|
| + }
|
| + if (_json.containsKey("formattedScoreRank")) {
|
| + formattedScoreRank = _json["formattedScoreRank"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("player")) {
|
| + player = new Player.fromJson(_json["player"]);
|
| + }
|
| + if (_json.containsKey("scoreRank")) {
|
| + scoreRank = _json["scoreRank"];
|
| + }
|
| + if (_json.containsKey("scoreTag")) {
|
| + scoreTag = _json["scoreTag"];
|
| + }
|
| + if (_json.containsKey("scoreValue")) {
|
| + scoreValue = _json["scoreValue"];
|
| + }
|
| + if (_json.containsKey("timeSpan")) {
|
| + timeSpan = _json["timeSpan"];
|
| + }
|
| + if (_json.containsKey("writeTimestampMillis")) {
|
| + writeTimestampMillis = _json["writeTimestampMillis"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (formattedScore != null) {
|
| + _json["formattedScore"] = formattedScore;
|
| + }
|
| + if (formattedScoreRank != null) {
|
| + _json["formattedScoreRank"] = formattedScoreRank;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (player != null) {
|
| + _json["player"] = (player).toJson();
|
| + }
|
| + if (scoreRank != null) {
|
| + _json["scoreRank"] = scoreRank;
|
| + }
|
| + if (scoreTag != null) {
|
| + _json["scoreTag"] = scoreTag;
|
| + }
|
| + if (scoreValue != null) {
|
| + _json["scoreValue"] = scoreValue;
|
| + }
|
| + if (timeSpan != null) {
|
| + _json["timeSpan"] = timeSpan;
|
| + }
|
| + if (writeTimestampMillis != null) {
|
| + _json["writeTimestampMillis"] = writeTimestampMillis;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of leaderboard objects. */
|
| +class LeaderboardListResponse {
|
| + /** The leaderboards. */
|
| + core.List<Leaderboard> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#leaderboardListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Token corresponding to the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + LeaderboardListResponse();
|
| +
|
| + LeaderboardListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new Leaderboard.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a score rank in a leaderboard. */
|
| +class LeaderboardScoreRank {
|
| + /** The number of scores in the leaderboard as a string. */
|
| + core.String formattedNumScores;
|
| +
|
| + /** The rank in the leaderboard as a string. */
|
| + core.String formattedRank;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#leaderboardScoreRank.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The number of scores in the leaderboard. */
|
| + core.String numScores;
|
| +
|
| + /** The rank in the leaderboard. */
|
| + core.String rank;
|
| +
|
| +
|
| + LeaderboardScoreRank();
|
| +
|
| + LeaderboardScoreRank.fromJson(core.Map _json) {
|
| + if (_json.containsKey("formattedNumScores")) {
|
| + formattedNumScores = _json["formattedNumScores"];
|
| + }
|
| + if (_json.containsKey("formattedRank")) {
|
| + formattedRank = _json["formattedRank"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("numScores")) {
|
| + numScores = _json["numScores"];
|
| + }
|
| + if (_json.containsKey("rank")) {
|
| + rank = _json["rank"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (formattedNumScores != null) {
|
| + _json["formattedNumScores"] = formattedNumScores;
|
| + }
|
| + if (formattedRank != null) {
|
| + _json["formattedRank"] = formattedRank;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (numScores != null) {
|
| + _json["numScores"] = numScores;
|
| + }
|
| + if (rank != null) {
|
| + _json["rank"] = rank;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a ListScores response. */
|
| +class LeaderboardScores {
|
| + /** The scores in the leaderboard. */
|
| + core.List<LeaderboardEntry> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#leaderboardScores.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The pagination token for the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| + /** The total number of scores in the leaderboard. */
|
| + core.String numScores;
|
| +
|
| + /**
|
| + * The score of the requesting player on the leaderboard. The player's score
|
| + * may appear both here and in the list of scores above. If you are viewing a
|
| + * public leaderboard and the player is not sharing their gameplay information
|
| + * publicly, the scoreRank and formattedScoreRank values will not be present.
|
| + */
|
| + LeaderboardEntry playerScore;
|
| +
|
| + /** The pagination token for the previous page of results. */
|
| + core.String prevPageToken;
|
| +
|
| +
|
| + LeaderboardScores();
|
| +
|
| + LeaderboardScores.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new LeaderboardEntry.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + if (_json.containsKey("numScores")) {
|
| + numScores = _json["numScores"];
|
| + }
|
| + if (_json.containsKey("playerScore")) {
|
| + playerScore = new LeaderboardEntry.fromJson(_json["playerScore"]);
|
| + }
|
| + if (_json.containsKey("prevPageToken")) {
|
| + prevPageToken = _json["prevPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + if (numScores != null) {
|
| + _json["numScores"] = numScores;
|
| + }
|
| + if (playerScore != null) {
|
| + _json["playerScore"] = (playerScore).toJson();
|
| + }
|
| + if (prevPageToken != null) {
|
| + _json["prevPageToken"] = prevPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for the metagame config resource */
|
| +class MetagameConfig {
|
| + /**
|
| + * Current version of the metagame configuration data. When this data is
|
| + * updated, the version number will be increased by one.
|
| + */
|
| + core.int currentVersion;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#metagameConfig.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The list of player levels. */
|
| + core.List<PlayerLevel> playerLevels;
|
| +
|
| +
|
| + MetagameConfig();
|
| +
|
| + MetagameConfig.fromJson(core.Map _json) {
|
| + if (_json.containsKey("currentVersion")) {
|
| + currentVersion = _json["currentVersion"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("playerLevels")) {
|
| + playerLevels = _json["playerLevels"].map((value) => new PlayerLevel.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (currentVersion != null) {
|
| + _json["currentVersion"] = currentVersion;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (playerLevels != null) {
|
| + _json["playerLevels"] = playerLevels.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for network diagnostics reported for a client. */
|
| +class NetworkDiagnostics {
|
| + /** The Android network subtype. */
|
| + core.int androidNetworkSubtype;
|
| +
|
| + /** The Android network type. */
|
| + core.int androidNetworkType;
|
| +
|
| + /** iOS network type as defined in Reachability.h. */
|
| + core.int iosNetworkType;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#networkDiagnostics.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The MCC+MNC code for the client's network connection. On Android:
|
| + * http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperator()
|
| + * On iOS, see:
|
| + * https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html
|
| + */
|
| + core.String networkOperatorCode;
|
| +
|
| + /**
|
| + * The name of the carrier of the client's network connection. On Android:
|
| + * http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperatorName()
|
| + * On iOS:
|
| + * https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/occ/instp/CTCarrier/carrierName
|
| + */
|
| + core.String networkOperatorName;
|
| +
|
| + /**
|
| + * The amount of time in milliseconds it took for the client to establish a
|
| + * connection with the XMPP server.
|
| + */
|
| + core.int registrationLatencyMillis;
|
| +
|
| +
|
| + NetworkDiagnostics();
|
| +
|
| + NetworkDiagnostics.fromJson(core.Map _json) {
|
| + if (_json.containsKey("androidNetworkSubtype")) {
|
| + androidNetworkSubtype = _json["androidNetworkSubtype"];
|
| + }
|
| + if (_json.containsKey("androidNetworkType")) {
|
| + androidNetworkType = _json["androidNetworkType"];
|
| + }
|
| + if (_json.containsKey("iosNetworkType")) {
|
| + iosNetworkType = _json["iosNetworkType"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("networkOperatorCode")) {
|
| + networkOperatorCode = _json["networkOperatorCode"];
|
| + }
|
| + if (_json.containsKey("networkOperatorName")) {
|
| + networkOperatorName = _json["networkOperatorName"];
|
| + }
|
| + if (_json.containsKey("registrationLatencyMillis")) {
|
| + registrationLatencyMillis = _json["registrationLatencyMillis"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (androidNetworkSubtype != null) {
|
| + _json["androidNetworkSubtype"] = androidNetworkSubtype;
|
| + }
|
| + if (androidNetworkType != null) {
|
| + _json["androidNetworkType"] = androidNetworkType;
|
| + }
|
| + if (iosNetworkType != null) {
|
| + _json["iosNetworkType"] = iosNetworkType;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (networkOperatorCode != null) {
|
| + _json["networkOperatorCode"] = networkOperatorCode;
|
| + }
|
| + if (networkOperatorName != null) {
|
| + _json["networkOperatorName"] = networkOperatorName;
|
| + }
|
| + if (registrationLatencyMillis != null) {
|
| + _json["registrationLatencyMillis"] = registrationLatencyMillis;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a result for a match participant. */
|
| +class ParticipantResult {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#participantResult.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The ID of the participant. */
|
| + core.String participantId;
|
| +
|
| + /**
|
| + * The placement or ranking of the participant in the match results; a number
|
| + * from one to the number of participants in the match. Multiple participants
|
| + * may have the same placing value in case of a type.
|
| + */
|
| + core.int placing;
|
| +
|
| + /**
|
| + * The result of the participant for this match.
|
| + * Possible values are:
|
| + * - "MATCH_RESULT_WIN" - The participant won the match.
|
| + * - "MATCH_RESULT_LOSS" - The participant lost the match.
|
| + * - "MATCH_RESULT_TIE" - The participant tied the match.
|
| + * - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or
|
| + * loses this kind of game.)
|
| + * - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during
|
| + * the match.
|
| + * - "MATCH_RESULT_DISAGREED" - Different clients reported different results
|
| + * for this participant.
|
| + */
|
| + core.String result;
|
| +
|
| +
|
| + ParticipantResult();
|
| +
|
| + ParticipantResult.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("participantId")) {
|
| + participantId = _json["participantId"];
|
| + }
|
| + if (_json.containsKey("placing")) {
|
| + placing = _json["placing"];
|
| + }
|
| + if (_json.containsKey("result")) {
|
| + result = _json["result"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (participantId != null) {
|
| + _json["participantId"] = participantId;
|
| + }
|
| + if (placing != null) {
|
| + _json["placing"] = placing;
|
| + }
|
| + if (result != null) {
|
| + _json["result"] = result;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for peer channel diagnostics. */
|
| +class PeerChannelDiagnostics {
|
| + /** Number of bytes received. */
|
| + AggregateStats bytesReceived;
|
| +
|
| + /** Number of bytes sent. */
|
| + AggregateStats bytesSent;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#peerChannelDiagnostics.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Number of messages lost. */
|
| + core.int numMessagesLost;
|
| +
|
| + /** Number of messages received. */
|
| + core.int numMessagesReceived;
|
| +
|
| + /** Number of messages sent. */
|
| + core.int numMessagesSent;
|
| +
|
| + /** Number of send failures. */
|
| + core.int numSendFailures;
|
| +
|
| + /** Roundtrip latency stats in milliseconds. */
|
| + AggregateStats roundtripLatencyMillis;
|
| +
|
| +
|
| + PeerChannelDiagnostics();
|
| +
|
| + PeerChannelDiagnostics.fromJson(core.Map _json) {
|
| + if (_json.containsKey("bytesReceived")) {
|
| + bytesReceived = new AggregateStats.fromJson(_json["bytesReceived"]);
|
| + }
|
| + if (_json.containsKey("bytesSent")) {
|
| + bytesSent = new AggregateStats.fromJson(_json["bytesSent"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("numMessagesLost")) {
|
| + numMessagesLost = _json["numMessagesLost"];
|
| + }
|
| + if (_json.containsKey("numMessagesReceived")) {
|
| + numMessagesReceived = _json["numMessagesReceived"];
|
| + }
|
| + if (_json.containsKey("numMessagesSent")) {
|
| + numMessagesSent = _json["numMessagesSent"];
|
| + }
|
| + if (_json.containsKey("numSendFailures")) {
|
| + numSendFailures = _json["numSendFailures"];
|
| + }
|
| + if (_json.containsKey("roundtripLatencyMillis")) {
|
| + roundtripLatencyMillis = new AggregateStats.fromJson(_json["roundtripLatencyMillis"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (bytesReceived != null) {
|
| + _json["bytesReceived"] = (bytesReceived).toJson();
|
| + }
|
| + if (bytesSent != null) {
|
| + _json["bytesSent"] = (bytesSent).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (numMessagesLost != null) {
|
| + _json["numMessagesLost"] = numMessagesLost;
|
| + }
|
| + if (numMessagesReceived != null) {
|
| + _json["numMessagesReceived"] = numMessagesReceived;
|
| + }
|
| + if (numMessagesSent != null) {
|
| + _json["numMessagesSent"] = numMessagesSent;
|
| + }
|
| + if (numSendFailures != null) {
|
| + _json["numSendFailures"] = numSendFailures;
|
| + }
|
| + if (roundtripLatencyMillis != null) {
|
| + _json["roundtripLatencyMillis"] = (roundtripLatencyMillis).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for peer session diagnostics. */
|
| +class PeerSessionDiagnostics {
|
| + /** Connected time in milliseconds. */
|
| + core.String connectedTimestampMillis;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#peerSessionDiagnostics.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The participant ID of the peer. */
|
| + core.String participantId;
|
| +
|
| + /** Reliable channel diagnostics. */
|
| + PeerChannelDiagnostics reliableChannel;
|
| +
|
| + /** Unreliable channel diagnostics. */
|
| + PeerChannelDiagnostics unreliableChannel;
|
| +
|
| +
|
| + PeerSessionDiagnostics();
|
| +
|
| + PeerSessionDiagnostics.fromJson(core.Map _json) {
|
| + if (_json.containsKey("connectedTimestampMillis")) {
|
| + connectedTimestampMillis = _json["connectedTimestampMillis"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("participantId")) {
|
| + participantId = _json["participantId"];
|
| + }
|
| + if (_json.containsKey("reliableChannel")) {
|
| + reliableChannel = new PeerChannelDiagnostics.fromJson(_json["reliableChannel"]);
|
| + }
|
| + if (_json.containsKey("unreliableChannel")) {
|
| + unreliableChannel = new PeerChannelDiagnostics.fromJson(_json["unreliableChannel"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (connectedTimestampMillis != null) {
|
| + _json["connectedTimestampMillis"] = connectedTimestampMillis;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (participantId != null) {
|
| + _json["participantId"] = participantId;
|
| + }
|
| + if (reliableChannel != null) {
|
| + _json["reliableChannel"] = (reliableChannel).toJson();
|
| + }
|
| + if (unreliableChannel != null) {
|
| + _json["unreliableChannel"] = (unreliableChannel).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * This is a JSON template for metadata about a player playing a game with the
|
| + * currently authenticated user.
|
| + */
|
| +class Played {
|
| + /**
|
| + * True if the player was auto-matched with the currently authenticated user.
|
| + */
|
| + core.bool autoMatched;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#played.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The last time the player played the game in milliseconds since the epoch in
|
| + * UTC.
|
| + */
|
| + core.String timeMillis;
|
| +
|
| +
|
| + Played();
|
| +
|
| + Played.fromJson(core.Map _json) {
|
| + if (_json.containsKey("autoMatched")) {
|
| + autoMatched = _json["autoMatched"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("timeMillis")) {
|
| + timeMillis = _json["timeMillis"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (autoMatched != null) {
|
| + _json["autoMatched"] = autoMatched;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (timeMillis != null) {
|
| + _json["timeMillis"] = timeMillis;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * An object representation of the individual components of the player's name.
|
| + * For some players, these fields may not be present.
|
| + */
|
| +class PlayerName {
|
| + /**
|
| + * The family name of this player. In some places, this is known as the last
|
| + * name.
|
| + */
|
| + core.String familyName;
|
| +
|
| + /**
|
| + * The given name of this player. In some places, this is known as the first
|
| + * name.
|
| + */
|
| + core.String givenName;
|
| +
|
| +
|
| + PlayerName();
|
| +
|
| + PlayerName.fromJson(core.Map _json) {
|
| + if (_json.containsKey("familyName")) {
|
| + familyName = _json["familyName"];
|
| + }
|
| + if (_json.containsKey("givenName")) {
|
| + givenName = _json["givenName"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (familyName != null) {
|
| + _json["familyName"] = familyName;
|
| + }
|
| + if (givenName != null) {
|
| + _json["givenName"] = givenName;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a Player resource. */
|
| +class Player {
|
| + /** The base URL for the image that represents the player. */
|
| + core.String avatarImageUrl;
|
| +
|
| + /** The name to display for the player. */
|
| + core.String displayName;
|
| +
|
| + /**
|
| + * An object to represent Play Game experience information for the player.
|
| + */
|
| + PlayerExperienceInfo experienceInfo;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#player.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * Details about the last time this player played a multiplayer game with the
|
| + * currently authenticated player. Populated for PLAYED_WITH player collection
|
| + * members.
|
| + */
|
| + Played lastPlayedWith;
|
| +
|
| + /**
|
| + * An object representation of the individual components of the player's name.
|
| + * For some players, these fields may not be present.
|
| + */
|
| + PlayerName name;
|
| +
|
| + /** The ID of the player. */
|
| + core.String playerId;
|
| +
|
| + /** The player's title rewarded for their game activities. */
|
| + core.String title;
|
| +
|
| +
|
| + Player();
|
| +
|
| + Player.fromJson(core.Map _json) {
|
| + if (_json.containsKey("avatarImageUrl")) {
|
| + avatarImageUrl = _json["avatarImageUrl"];
|
| + }
|
| + if (_json.containsKey("displayName")) {
|
| + displayName = _json["displayName"];
|
| + }
|
| + if (_json.containsKey("experienceInfo")) {
|
| + experienceInfo = new PlayerExperienceInfo.fromJson(_json["experienceInfo"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("lastPlayedWith")) {
|
| + lastPlayedWith = new Played.fromJson(_json["lastPlayedWith"]);
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = new PlayerName.fromJson(_json["name"]);
|
| + }
|
| + if (_json.containsKey("playerId")) {
|
| + playerId = _json["playerId"];
|
| + }
|
| + if (_json.containsKey("title")) {
|
| + title = _json["title"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (avatarImageUrl != null) {
|
| + _json["avatarImageUrl"] = avatarImageUrl;
|
| + }
|
| + if (displayName != null) {
|
| + _json["displayName"] = displayName;
|
| + }
|
| + if (experienceInfo != null) {
|
| + _json["experienceInfo"] = (experienceInfo).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (lastPlayedWith != null) {
|
| + _json["lastPlayedWith"] = (lastPlayedWith).toJson();
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = (name).toJson();
|
| + }
|
| + if (playerId != null) {
|
| + _json["playerId"] = playerId;
|
| + }
|
| + if (title != null) {
|
| + _json["title"] = title;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an achievement object. */
|
| +class PlayerAchievement {
|
| + /**
|
| + * The state of the achievement.
|
| + * Possible values are:
|
| + * - "HIDDEN" - Achievement is hidden.
|
| + * - "REVEALED" - Achievement is revealed.
|
| + * - "UNLOCKED" - Achievement is unlocked.
|
| + */
|
| + core.String achievementState;
|
| +
|
| + /** The current steps for an incremental achievement. */
|
| + core.int currentSteps;
|
| +
|
| + /**
|
| + * Experience points earned for the achievement. This field is absent for
|
| + * achievements that have not yet been unlocked and 0 for achievements that
|
| + * have been unlocked by testers but that are unpublished.
|
| + */
|
| + core.String experiencePoints;
|
| +
|
| + /** The current steps for an incremental achievement as a string. */
|
| + core.String formattedCurrentStepsString;
|
| +
|
| + /** The ID of the achievement. */
|
| + core.String id;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerAchievement.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The timestamp of the last modification to this achievement's state. */
|
| + core.String lastUpdatedTimestamp;
|
| +
|
| +
|
| + PlayerAchievement();
|
| +
|
| + PlayerAchievement.fromJson(core.Map _json) {
|
| + if (_json.containsKey("achievementState")) {
|
| + achievementState = _json["achievementState"];
|
| + }
|
| + if (_json.containsKey("currentSteps")) {
|
| + currentSteps = _json["currentSteps"];
|
| + }
|
| + if (_json.containsKey("experiencePoints")) {
|
| + experiencePoints = _json["experiencePoints"];
|
| + }
|
| + if (_json.containsKey("formattedCurrentStepsString")) {
|
| + formattedCurrentStepsString = _json["formattedCurrentStepsString"];
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("lastUpdatedTimestamp")) {
|
| + lastUpdatedTimestamp = _json["lastUpdatedTimestamp"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (achievementState != null) {
|
| + _json["achievementState"] = achievementState;
|
| + }
|
| + if (currentSteps != null) {
|
| + _json["currentSteps"] = currentSteps;
|
| + }
|
| + if (experiencePoints != null) {
|
| + _json["experiencePoints"] = experiencePoints;
|
| + }
|
| + if (formattedCurrentStepsString != null) {
|
| + _json["formattedCurrentStepsString"] = formattedCurrentStepsString;
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (lastUpdatedTimestamp != null) {
|
| + _json["lastUpdatedTimestamp"] = lastUpdatedTimestamp;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of achievement objects. */
|
| +class PlayerAchievementListResponse {
|
| + /** The achievements. */
|
| + core.List<PlayerAchievement> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerAchievementListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Token corresponding to the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + PlayerAchievementListResponse();
|
| +
|
| + PlayerAchievementListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new PlayerAchievement.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an event status resource. */
|
| +class PlayerEvent {
|
| + /** The ID of the event definition. */
|
| + core.String definitionId;
|
| +
|
| + /**
|
| + * The current number of times this event has occurred, as a string. The
|
| + * formatting of this string depends on the configuration of your event in the
|
| + * Play Games Developer Console.
|
| + */
|
| + core.String formattedNumEvents;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerEvent.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The current number of times this event has occurred. */
|
| + core.String numEvents;
|
| +
|
| + /** The ID of the player. */
|
| + core.String playerId;
|
| +
|
| +
|
| + PlayerEvent();
|
| +
|
| + PlayerEvent.fromJson(core.Map _json) {
|
| + if (_json.containsKey("definitionId")) {
|
| + definitionId = _json["definitionId"];
|
| + }
|
| + if (_json.containsKey("formattedNumEvents")) {
|
| + formattedNumEvents = _json["formattedNumEvents"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("numEvents")) {
|
| + numEvents = _json["numEvents"];
|
| + }
|
| + if (_json.containsKey("playerId")) {
|
| + playerId = _json["playerId"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (definitionId != null) {
|
| + _json["definitionId"] = definitionId;
|
| + }
|
| + if (formattedNumEvents != null) {
|
| + _json["formattedNumEvents"] = formattedNumEvents;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (numEvents != null) {
|
| + _json["numEvents"] = numEvents;
|
| + }
|
| + if (playerId != null) {
|
| + _json["playerId"] = playerId;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a ListByPlayer response. */
|
| +class PlayerEventListResponse {
|
| + /** The player events. */
|
| + core.List<PlayerEvent> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerEventListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The pagination token for the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + PlayerEventListResponse();
|
| +
|
| + PlayerEventListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new PlayerEvent.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * This is a JSON template for 1P/3P metadata about the player's experience.
|
| + */
|
| +class PlayerExperienceInfo {
|
| + /** The current number of experience points for the player. */
|
| + core.String currentExperiencePoints;
|
| +
|
| + /** The current level of the player. */
|
| + PlayerLevel currentLevel;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerExperienceInfo.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The timestamp when the player was leveled up, in millis since Unix epoch
|
| + * UTC.
|
| + */
|
| + core.String lastLevelUpTimestampMillis;
|
| +
|
| + /**
|
| + * The next level of the player. If the current level is the maximum level,
|
| + * this should be same as the current level.
|
| + */
|
| + PlayerLevel nextLevel;
|
| +
|
| +
|
| + PlayerExperienceInfo();
|
| +
|
| + PlayerExperienceInfo.fromJson(core.Map _json) {
|
| + if (_json.containsKey("currentExperiencePoints")) {
|
| + currentExperiencePoints = _json["currentExperiencePoints"];
|
| + }
|
| + if (_json.containsKey("currentLevel")) {
|
| + currentLevel = new PlayerLevel.fromJson(_json["currentLevel"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("lastLevelUpTimestampMillis")) {
|
| + lastLevelUpTimestampMillis = _json["lastLevelUpTimestampMillis"];
|
| + }
|
| + if (_json.containsKey("nextLevel")) {
|
| + nextLevel = new PlayerLevel.fromJson(_json["nextLevel"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (currentExperiencePoints != null) {
|
| + _json["currentExperiencePoints"] = currentExperiencePoints;
|
| + }
|
| + if (currentLevel != null) {
|
| + _json["currentLevel"] = (currentLevel).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (lastLevelUpTimestampMillis != null) {
|
| + _json["lastLevelUpTimestampMillis"] = lastLevelUpTimestampMillis;
|
| + }
|
| + if (nextLevel != null) {
|
| + _json["nextLevel"] = (nextLevel).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a player leaderboard score object. */
|
| +class PlayerLeaderboardScore {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerLeaderboardScore.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The ID of the leaderboard this score is in. */
|
| + core.String leaderboardId;
|
| +
|
| + /**
|
| + * The public rank of the score in this leaderboard. This object will not be
|
| + * present if the user is not sharing their scores publicly.
|
| + */
|
| + LeaderboardScoreRank publicRank;
|
| +
|
| + /** The formatted value of this score. */
|
| + core.String scoreString;
|
| +
|
| + /**
|
| + * Additional information about the score. Values must contain no more than 64
|
| + * URI-safe characters as defined by section 2.3 of RFC 3986.
|
| + */
|
| + core.String scoreTag;
|
| +
|
| + /** The numerical value of this score. */
|
| + core.String scoreValue;
|
| +
|
| + /** The social rank of the score in this leaderboard. */
|
| + LeaderboardScoreRank socialRank;
|
| +
|
| + /**
|
| + * The time span of this score.
|
| + * Possible values are:
|
| + * - "ALL_TIME" - The score is an all-time score.
|
| + * - "WEEKLY" - The score is a weekly score.
|
| + * - "DAILY" - The score is a daily score.
|
| + */
|
| + core.String timeSpan;
|
| +
|
| + /**
|
| + * The timestamp at which this score was recorded, in milliseconds since the
|
| + * epoch in UTC.
|
| + */
|
| + core.String writeTimestamp;
|
| +
|
| +
|
| + PlayerLeaderboardScore();
|
| +
|
| + PlayerLeaderboardScore.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("leaderboard_id")) {
|
| + leaderboardId = _json["leaderboard_id"];
|
| + }
|
| + if (_json.containsKey("publicRank")) {
|
| + publicRank = new LeaderboardScoreRank.fromJson(_json["publicRank"]);
|
| + }
|
| + if (_json.containsKey("scoreString")) {
|
| + scoreString = _json["scoreString"];
|
| + }
|
| + if (_json.containsKey("scoreTag")) {
|
| + scoreTag = _json["scoreTag"];
|
| + }
|
| + if (_json.containsKey("scoreValue")) {
|
| + scoreValue = _json["scoreValue"];
|
| + }
|
| + if (_json.containsKey("socialRank")) {
|
| + socialRank = new LeaderboardScoreRank.fromJson(_json["socialRank"]);
|
| + }
|
| + if (_json.containsKey("timeSpan")) {
|
| + timeSpan = _json["timeSpan"];
|
| + }
|
| + if (_json.containsKey("writeTimestamp")) {
|
| + writeTimestamp = _json["writeTimestamp"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (leaderboardId != null) {
|
| + _json["leaderboard_id"] = leaderboardId;
|
| + }
|
| + if (publicRank != null) {
|
| + _json["publicRank"] = (publicRank).toJson();
|
| + }
|
| + if (scoreString != null) {
|
| + _json["scoreString"] = scoreString;
|
| + }
|
| + if (scoreTag != null) {
|
| + _json["scoreTag"] = scoreTag;
|
| + }
|
| + if (scoreValue != null) {
|
| + _json["scoreValue"] = scoreValue;
|
| + }
|
| + if (socialRank != null) {
|
| + _json["socialRank"] = (socialRank).toJson();
|
| + }
|
| + if (timeSpan != null) {
|
| + _json["timeSpan"] = timeSpan;
|
| + }
|
| + if (writeTimestamp != null) {
|
| + _json["writeTimestamp"] = writeTimestamp;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of player leaderboard scores. */
|
| +class PlayerLeaderboardScoreListResponse {
|
| + /** The leaderboard scores. */
|
| + core.List<PlayerLeaderboardScore> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerLeaderboardScoreListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The pagination token for the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| + /** The Player resources for the owner of this score. */
|
| + Player player;
|
| +
|
| +
|
| + PlayerLeaderboardScoreListResponse();
|
| +
|
| + PlayerLeaderboardScoreListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new PlayerLeaderboardScore.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + if (_json.containsKey("player")) {
|
| + player = new Player.fromJson(_json["player"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + if (player != null) {
|
| + _json["player"] = (player).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for 1P/3P metadata about a user's level. */
|
| +class PlayerLevel {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerLevel.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The level for the user. */
|
| + core.int level;
|
| +
|
| + /** The maximum experience points for this level. */
|
| + core.String maxExperiencePoints;
|
| +
|
| + /** The minimum experience points for this level. */
|
| + core.String minExperiencePoints;
|
| +
|
| +
|
| + PlayerLevel();
|
| +
|
| + PlayerLevel.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("level")) {
|
| + level = _json["level"];
|
| + }
|
| + if (_json.containsKey("maxExperiencePoints")) {
|
| + maxExperiencePoints = _json["maxExperiencePoints"];
|
| + }
|
| + if (_json.containsKey("minExperiencePoints")) {
|
| + minExperiencePoints = _json["minExperiencePoints"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (level != null) {
|
| + _json["level"] = level;
|
| + }
|
| + if (maxExperiencePoints != null) {
|
| + _json["maxExperiencePoints"] = maxExperiencePoints;
|
| + }
|
| + if (minExperiencePoints != null) {
|
| + _json["minExperiencePoints"] = minExperiencePoints;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a third party player list response. */
|
| +class PlayerListResponse {
|
| + /** The players. */
|
| + core.List<Player> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Token corresponding to the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + PlayerListResponse();
|
| +
|
| + PlayerListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new Player.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a player score. */
|
| +class PlayerScore {
|
| + /** The formatted score for this player score. */
|
| + core.String formattedScore;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerScore.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The numerical value for this player score. */
|
| + core.String score;
|
| +
|
| + /**
|
| + * Additional information about this score. Values will contain no more than
|
| + * 64 URI-safe characters as defined by section 2.3 of RFC 3986.
|
| + */
|
| + core.String scoreTag;
|
| +
|
| + /**
|
| + * The time span for this player score.
|
| + * Possible values are:
|
| + * - "ALL_TIME" - The score is an all-time score.
|
| + * - "WEEKLY" - The score is a weekly score.
|
| + * - "DAILY" - The score is a daily score.
|
| + */
|
| + core.String timeSpan;
|
| +
|
| +
|
| + PlayerScore();
|
| +
|
| + PlayerScore.fromJson(core.Map _json) {
|
| + if (_json.containsKey("formattedScore")) {
|
| + formattedScore = _json["formattedScore"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("score")) {
|
| + score = _json["score"];
|
| + }
|
| + if (_json.containsKey("scoreTag")) {
|
| + scoreTag = _json["scoreTag"];
|
| + }
|
| + if (_json.containsKey("timeSpan")) {
|
| + timeSpan = _json["timeSpan"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (formattedScore != null) {
|
| + _json["formattedScore"] = formattedScore;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (score != null) {
|
| + _json["score"] = score;
|
| + }
|
| + if (scoreTag != null) {
|
| + _json["scoreTag"] = scoreTag;
|
| + }
|
| + if (timeSpan != null) {
|
| + _json["timeSpan"] = timeSpan;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of score submission statuses. */
|
| +class PlayerScoreListResponse {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerScoreListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The score submissions statuses. */
|
| + core.List<PlayerScoreResponse> submittedScores;
|
| +
|
| +
|
| + PlayerScoreListResponse();
|
| +
|
| + PlayerScoreListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("submittedScores")) {
|
| + submittedScores = _json["submittedScores"].map((value) => new PlayerScoreResponse.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (submittedScores != null) {
|
| + _json["submittedScores"] = submittedScores.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of leaderboard entry resources. */
|
| +class PlayerScoreResponse {
|
| + /**
|
| + * The time spans where the submitted score is better than the existing score
|
| + * for that time span.
|
| + * Possible values are:
|
| + * - "ALL_TIME" - The score is an all-time score.
|
| + * - "WEEKLY" - The score is a weekly score.
|
| + * - "DAILY" - The score is a daily score.
|
| + */
|
| + core.List<core.String> beatenScoreTimeSpans;
|
| +
|
| + /** The formatted value of the submitted score. */
|
| + core.String formattedScore;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerScoreResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The leaderboard ID that this score was submitted to. */
|
| + core.String leaderboardId;
|
| +
|
| + /**
|
| + * Additional information about this score. Values will contain no more than
|
| + * 64 URI-safe characters as defined by section 2.3 of RFC 3986.
|
| + */
|
| + core.String scoreTag;
|
| +
|
| + /**
|
| + * The scores in time spans that have not been beaten. As an example, the
|
| + * submitted score may be better than the player's DAILY score, but not better
|
| + * than the player's scores for the WEEKLY or ALL_TIME time spans.
|
| + */
|
| + core.List<PlayerScore> unbeatenScores;
|
| +
|
| +
|
| + PlayerScoreResponse();
|
| +
|
| + PlayerScoreResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("beatenScoreTimeSpans")) {
|
| + beatenScoreTimeSpans = _json["beatenScoreTimeSpans"];
|
| + }
|
| + if (_json.containsKey("formattedScore")) {
|
| + formattedScore = _json["formattedScore"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("leaderboardId")) {
|
| + leaderboardId = _json["leaderboardId"];
|
| + }
|
| + if (_json.containsKey("scoreTag")) {
|
| + scoreTag = _json["scoreTag"];
|
| + }
|
| + if (_json.containsKey("unbeatenScores")) {
|
| + unbeatenScores = _json["unbeatenScores"].map((value) => new PlayerScore.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (beatenScoreTimeSpans != null) {
|
| + _json["beatenScoreTimeSpans"] = beatenScoreTimeSpans;
|
| + }
|
| + if (formattedScore != null) {
|
| + _json["formattedScore"] = formattedScore;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (leaderboardId != null) {
|
| + _json["leaderboardId"] = leaderboardId;
|
| + }
|
| + if (scoreTag != null) {
|
| + _json["scoreTag"] = scoreTag;
|
| + }
|
| + if (unbeatenScores != null) {
|
| + _json["unbeatenScores"] = unbeatenScores.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of score submission requests */
|
| +class PlayerScoreSubmissionList {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#playerScoreSubmissionList.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The score submissions. */
|
| + core.List<ScoreSubmission> scores;
|
| +
|
| +
|
| + PlayerScoreSubmissionList();
|
| +
|
| + PlayerScoreSubmissionList.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("scores")) {
|
| + scores = _json["scores"].map((value) => new ScoreSubmission.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (scores != null) {
|
| + _json["scores"] = scores.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a push token resource. */
|
| +class PushToken {
|
| + /**
|
| + * The revision of the client SDK used by your application, in the same format
|
| + * that's used by revisions.check. Used to send backward compatible messages.
|
| + * Format: [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE
|
| + * are:
|
| + * - IOS - Push token is for iOS
|
| + */
|
| + core.String clientRevision;
|
| +
|
| + /** Unique identifier for this push token. */
|
| + PushTokenId id;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#pushToken.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The preferred language for notifications that are sent using this token.
|
| + */
|
| + core.String language;
|
| +
|
| +
|
| + PushToken();
|
| +
|
| + PushToken.fromJson(core.Map _json) {
|
| + if (_json.containsKey("clientRevision")) {
|
| + clientRevision = _json["clientRevision"];
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = new PushTokenId.fromJson(_json["id"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("language")) {
|
| + language = _json["language"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (clientRevision != null) {
|
| + _json["clientRevision"] = clientRevision;
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = (id).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (language != null) {
|
| + _json["language"] = language;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** A push token ID for iOS devices. */
|
| +class PushTokenIdIos {
|
| + /**
|
| + * Device token supplied by an iOS system call to register for remote
|
| + * notifications. Encode this field as web-safe base64.
|
| + */
|
| + core.String apnsDeviceToken;
|
| +
|
| + core.List<core.int> get apnsDeviceTokenAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(apnsDeviceToken);
|
| + }
|
| +
|
| + void set apnsDeviceTokenAsBytes(core.List<core.int> _bytes) {
|
| + apnsDeviceToken = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| + /**
|
| + * Indicates whether this token should be used for the production or sandbox
|
| + * APNS server.
|
| + */
|
| + core.String apnsEnvironment;
|
| +
|
| +
|
| + PushTokenIdIos();
|
| +
|
| + PushTokenIdIos.fromJson(core.Map _json) {
|
| + if (_json.containsKey("apns_device_token")) {
|
| + apnsDeviceToken = _json["apns_device_token"];
|
| + }
|
| + if (_json.containsKey("apns_environment")) {
|
| + apnsEnvironment = _json["apns_environment"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (apnsDeviceToken != null) {
|
| + _json["apns_device_token"] = apnsDeviceToken;
|
| + }
|
| + if (apnsEnvironment != null) {
|
| + _json["apns_environment"] = apnsEnvironment;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a push token ID resource. */
|
| +class PushTokenId {
|
| + /** A push token ID for iOS devices. */
|
| + PushTokenIdIos ios;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#pushTokenId.
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + PushTokenId();
|
| +
|
| + PushTokenId.fromJson(core.Map _json) {
|
| + if (_json.containsKey("ios")) {
|
| + ios = new PushTokenIdIos.fromJson(_json["ios"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (ios != null) {
|
| + _json["ios"] = (ios).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a Quest resource. */
|
| +class Quest {
|
| + /**
|
| + * The timestamp at which the user accepted the quest in milliseconds since
|
| + * the epoch in UTC. Only present if the player has accepted the quest.
|
| + */
|
| + core.String acceptedTimestampMillis;
|
| +
|
| + /** The ID of the application this quest is part of. */
|
| + core.String applicationId;
|
| +
|
| + /** The banner image URL for the quest. */
|
| + core.String bannerUrl;
|
| +
|
| + /** The description of the quest. */
|
| + core.String description;
|
| +
|
| + /**
|
| + * The timestamp at which the quest ceases to be active in milliseconds since
|
| + * the epoch in UTC.
|
| + */
|
| + core.String endTimestampMillis;
|
| +
|
| + /** The icon image URL for the quest. */
|
| + core.String iconUrl;
|
| +
|
| + /** The ID of the quest. */
|
| + core.String id;
|
| +
|
| + /**
|
| + * Indicates whether the banner image being returned is a default image, or is
|
| + * game-provided.
|
| + */
|
| + core.bool isDefaultBannerUrl;
|
| +
|
| + /**
|
| + * Indicates whether the icon image being returned is a default image, or is
|
| + * game-provided.
|
| + */
|
| + core.bool isDefaultIconUrl;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#quest.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The timestamp at which the quest was last updated by the user in
|
| + * milliseconds since the epoch in UTC. Only present if the player has
|
| + * accepted the quest.
|
| + */
|
| + core.String lastUpdatedTimestampMillis;
|
| +
|
| + /** The quest milestones. */
|
| + core.List<QuestMilestone> milestones;
|
| +
|
| + /** The name of the quest. */
|
| + core.String name;
|
| +
|
| + /**
|
| + * The timestamp at which the user should be notified that the quest will end
|
| + * soon in milliseconds since the epoch in UTC.
|
| + */
|
| + core.String notifyTimestampMillis;
|
| +
|
| + /**
|
| + * The timestamp at which the quest becomes active in milliseconds since the
|
| + * epoch in UTC.
|
| + */
|
| + core.String startTimestampMillis;
|
| +
|
| + /**
|
| + * The state of the quest.
|
| + * Possible values are:
|
| + * - "UPCOMING": The quest is upcoming. The user can see the quest, but cannot
|
| + * accept it until it is open.
|
| + * - "OPEN": The quest is currently open and may be accepted at this time.
|
| + * - "ACCEPTED": The user is currently participating in this quest.
|
| + * - "COMPLETED": The user has completed the quest.
|
| + * - "FAILED": The quest was attempted but was not completed before the
|
| + * deadline expired.
|
| + * - "EXPIRED": The quest has expired and was not accepted.
|
| + * - "DELETED": The quest should be deleted from the local database.
|
| + */
|
| + core.String state;
|
| +
|
| +
|
| + Quest();
|
| +
|
| + Quest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("acceptedTimestampMillis")) {
|
| + acceptedTimestampMillis = _json["acceptedTimestampMillis"];
|
| + }
|
| + if (_json.containsKey("applicationId")) {
|
| + applicationId = _json["applicationId"];
|
| + }
|
| + if (_json.containsKey("bannerUrl")) {
|
| + bannerUrl = _json["bannerUrl"];
|
| + }
|
| + if (_json.containsKey("description")) {
|
| + description = _json["description"];
|
| + }
|
| + if (_json.containsKey("endTimestampMillis")) {
|
| + endTimestampMillis = _json["endTimestampMillis"];
|
| + }
|
| + if (_json.containsKey("iconUrl")) {
|
| + iconUrl = _json["iconUrl"];
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("isDefaultBannerUrl")) {
|
| + isDefaultBannerUrl = _json["isDefaultBannerUrl"];
|
| + }
|
| + if (_json.containsKey("isDefaultIconUrl")) {
|
| + isDefaultIconUrl = _json["isDefaultIconUrl"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("lastUpdatedTimestampMillis")) {
|
| + lastUpdatedTimestampMillis = _json["lastUpdatedTimestampMillis"];
|
| + }
|
| + if (_json.containsKey("milestones")) {
|
| + milestones = _json["milestones"].map((value) => new QuestMilestone.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("notifyTimestampMillis")) {
|
| + notifyTimestampMillis = _json["notifyTimestampMillis"];
|
| + }
|
| + if (_json.containsKey("startTimestampMillis")) {
|
| + startTimestampMillis = _json["startTimestampMillis"];
|
| + }
|
| + if (_json.containsKey("state")) {
|
| + state = _json["state"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (acceptedTimestampMillis != null) {
|
| + _json["acceptedTimestampMillis"] = acceptedTimestampMillis;
|
| + }
|
| + if (applicationId != null) {
|
| + _json["applicationId"] = applicationId;
|
| + }
|
| + if (bannerUrl != null) {
|
| + _json["bannerUrl"] = bannerUrl;
|
| + }
|
| + if (description != null) {
|
| + _json["description"] = description;
|
| + }
|
| + if (endTimestampMillis != null) {
|
| + _json["endTimestampMillis"] = endTimestampMillis;
|
| + }
|
| + if (iconUrl != null) {
|
| + _json["iconUrl"] = iconUrl;
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (isDefaultBannerUrl != null) {
|
| + _json["isDefaultBannerUrl"] = isDefaultBannerUrl;
|
| + }
|
| + if (isDefaultIconUrl != null) {
|
| + _json["isDefaultIconUrl"] = isDefaultIconUrl;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (lastUpdatedTimestampMillis != null) {
|
| + _json["lastUpdatedTimestampMillis"] = lastUpdatedTimestampMillis;
|
| + }
|
| + if (milestones != null) {
|
| + _json["milestones"] = milestones.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (notifyTimestampMillis != null) {
|
| + _json["notifyTimestampMillis"] = notifyTimestampMillis;
|
| + }
|
| + if (startTimestampMillis != null) {
|
| + _json["startTimestampMillis"] = startTimestampMillis;
|
| + }
|
| + if (state != null) {
|
| + _json["state"] = state;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a Quest Criterion Contribution resource. */
|
| +class QuestContribution {
|
| + /**
|
| + * The formatted value of the contribution as a string. Format depends on the
|
| + * configuration for the associated event definition in the Play Games
|
| + * Developer Console.
|
| + */
|
| + core.String formattedValue;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#questContribution.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The value of the contribution. */
|
| + core.String value;
|
| +
|
| +
|
| + QuestContribution();
|
| +
|
| + QuestContribution.fromJson(core.Map _json) {
|
| + if (_json.containsKey("formattedValue")) {
|
| + formattedValue = _json["formattedValue"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (formattedValue != null) {
|
| + _json["formattedValue"] = formattedValue;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a Quest Criterion resource. */
|
| +class QuestCriterion {
|
| + /**
|
| + * The total number of times the associated event must be incremented for the
|
| + * player to complete this quest.
|
| + */
|
| + QuestContribution completionContribution;
|
| +
|
| + /**
|
| + * The number of increments the player has made toward the completion count
|
| + * event increments required to complete the quest. This value will not exceed
|
| + * the completion contribution.
|
| + * There will be no currentContribution until the player has accepted the
|
| + * quest.
|
| + */
|
| + QuestContribution currentContribution;
|
| +
|
| + /** The ID of the event the criterion corresponds to. */
|
| + core.String eventId;
|
| +
|
| + /**
|
| + * The value of the event associated with this quest at the time that the
|
| + * quest was accepted. This value may change if event increments that took
|
| + * place before the start of quest are uploaded after the quest starts.
|
| + * There will be no initialPlayerProgress until the player has accepted the
|
| + * quest.
|
| + */
|
| + QuestContribution initialPlayerProgress;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#questCriterion.
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + QuestCriterion();
|
| +
|
| + QuestCriterion.fromJson(core.Map _json) {
|
| + if (_json.containsKey("completionContribution")) {
|
| + completionContribution = new QuestContribution.fromJson(_json["completionContribution"]);
|
| + }
|
| + if (_json.containsKey("currentContribution")) {
|
| + currentContribution = new QuestContribution.fromJson(_json["currentContribution"]);
|
| + }
|
| + if (_json.containsKey("eventId")) {
|
| + eventId = _json["eventId"];
|
| + }
|
| + if (_json.containsKey("initialPlayerProgress")) {
|
| + initialPlayerProgress = new QuestContribution.fromJson(_json["initialPlayerProgress"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (completionContribution != null) {
|
| + _json["completionContribution"] = (completionContribution).toJson();
|
| + }
|
| + if (currentContribution != null) {
|
| + _json["currentContribution"] = (currentContribution).toJson();
|
| + }
|
| + if (eventId != null) {
|
| + _json["eventId"] = eventId;
|
| + }
|
| + if (initialPlayerProgress != null) {
|
| + _json["initialPlayerProgress"] = (initialPlayerProgress).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of quest objects. */
|
| +class QuestListResponse {
|
| + /** The quests. */
|
| + core.List<Quest> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#questListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Token corresponding to the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + QuestListResponse();
|
| +
|
| + QuestListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new Quest.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a Quest Milestone resource. */
|
| +class QuestMilestone {
|
| + /**
|
| + * The completion reward data of the milestone, represented as a
|
| + * Base64-encoded string. This is a developer-specified binary blob with size
|
| + * between 0 and 2 KB before encoding.
|
| + */
|
| + core.String completionRewardData;
|
| +
|
| + core.List<core.int> get completionRewardDataAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(completionRewardData);
|
| + }
|
| +
|
| + void set completionRewardDataAsBytes(core.List<core.int> _bytes) {
|
| + completionRewardData = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| + /** The criteria of the milestone. */
|
| + core.List<QuestCriterion> criteria;
|
| +
|
| + /** The milestone ID. */
|
| + core.String id;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#questMilestone.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The current state of the milestone.
|
| + * Possible values are:
|
| + * - "COMPLETED_NOT_CLAIMED" - The milestone is complete, but has not yet been
|
| + * claimed.
|
| + * - "CLAIMED" - The milestone is complete and has been claimed.
|
| + * - "NOT_COMPLETED" - The milestone has not yet been completed.
|
| + * - "NOT_STARTED" - The milestone is for a quest that has not yet been
|
| + * accepted.
|
| + */
|
| + core.String state;
|
| +
|
| +
|
| + QuestMilestone();
|
| +
|
| + QuestMilestone.fromJson(core.Map _json) {
|
| + if (_json.containsKey("completionRewardData")) {
|
| + completionRewardData = _json["completionRewardData"];
|
| + }
|
| + if (_json.containsKey("criteria")) {
|
| + criteria = _json["criteria"].map((value) => new QuestCriterion.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("state")) {
|
| + state = _json["state"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (completionRewardData != null) {
|
| + _json["completionRewardData"] = completionRewardData;
|
| + }
|
| + if (criteria != null) {
|
| + _json["criteria"] = criteria.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (state != null) {
|
| + _json["state"] = state;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for the result of checking a revision. */
|
| +class RevisionCheckResponse {
|
| + /**
|
| + * The version of the API this client revision should use when calling API
|
| + * methods.
|
| + */
|
| + core.String apiVersion;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#revisionCheckResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The result of the revision check.
|
| + * Possible values are:
|
| + * - "OK" - The revision being used is current.
|
| + * - "DEPRECATED" - There is currently a newer version available, but the
|
| + * revision being used still works.
|
| + * - "INVALID" - The revision being used is not supported in any released
|
| + * version.
|
| + */
|
| + core.String revisionStatus;
|
| +
|
| +
|
| + RevisionCheckResponse();
|
| +
|
| + RevisionCheckResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("apiVersion")) {
|
| + apiVersion = _json["apiVersion"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("revisionStatus")) {
|
| + revisionStatus = _json["revisionStatus"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (apiVersion != null) {
|
| + _json["apiVersion"] = apiVersion;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (revisionStatus != null) {
|
| + _json["revisionStatus"] = revisionStatus;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a room resource object. */
|
| +class Room {
|
| + /** The ID of the application being played. */
|
| + core.String applicationId;
|
| +
|
| + /** Criteria for auto-matching players into this room. */
|
| + RoomAutoMatchingCriteria autoMatchingCriteria;
|
| +
|
| + /**
|
| + * Auto-matching status for this room. Not set if the room is not currently in
|
| + * the auto-matching queue.
|
| + */
|
| + RoomAutoMatchStatus autoMatchingStatus;
|
| +
|
| + /** Details about the room creation. */
|
| + RoomModification creationDetails;
|
| +
|
| + /**
|
| + * This short description is generated by our servers and worded relative to
|
| + * the player requesting the room. It is intended to be displayed when the
|
| + * room is shown in a list (that is, an invitation to a room.)
|
| + */
|
| + core.String description;
|
| +
|
| + /**
|
| + * The ID of the participant that invited the user to the room. Not set if the
|
| + * user was not invited to the room.
|
| + */
|
| + core.String inviterId;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#room.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Details about the last update to the room. */
|
| + RoomModification lastUpdateDetails;
|
| +
|
| + /**
|
| + * The participants involved in the room, along with their statuses. Includes
|
| + * participants who have left or declined invitations.
|
| + */
|
| + core.List<RoomParticipant> participants;
|
| +
|
| + /** Globally unique ID for a room. */
|
| + core.String roomId;
|
| +
|
| + /**
|
| + * The version of the room status: an increasing counter, used by the client
|
| + * to ignore out-of-order updates to room status.
|
| + */
|
| + core.int roomStatusVersion;
|
| +
|
| + /**
|
| + * The status of the room.
|
| + * Possible values are:
|
| + * - "ROOM_INVITING" - One or more players have been invited and not
|
| + * responded.
|
| + * - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by
|
| + * auto-matching.
|
| + * - "ROOM_CONNECTING" - Players have joined and are connecting to each other
|
| + * (either before or after auto-matching).
|
| + * - "ROOM_ACTIVE" - All players have joined and connected to each other.
|
| + * - "ROOM_DELETED" - The room should no longer be shown on the client.
|
| + * Returned in sync calls when a player joins a room (as a tombstone), or for
|
| + * rooms where all joined participants have left.
|
| + */
|
| + core.String status;
|
| +
|
| + /**
|
| + * The variant / mode of the application being played; can be any integer
|
| + * value, or left blank.
|
| + */
|
| + core.int variant;
|
| +
|
| +
|
| + Room();
|
| +
|
| + Room.fromJson(core.Map _json) {
|
| + if (_json.containsKey("applicationId")) {
|
| + applicationId = _json["applicationId"];
|
| + }
|
| + if (_json.containsKey("autoMatchingCriteria")) {
|
| + autoMatchingCriteria = new RoomAutoMatchingCriteria.fromJson(_json["autoMatchingCriteria"]);
|
| + }
|
| + if (_json.containsKey("autoMatchingStatus")) {
|
| + autoMatchingStatus = new RoomAutoMatchStatus.fromJson(_json["autoMatchingStatus"]);
|
| + }
|
| + if (_json.containsKey("creationDetails")) {
|
| + creationDetails = new RoomModification.fromJson(_json["creationDetails"]);
|
| + }
|
| + if (_json.containsKey("description")) {
|
| + description = _json["description"];
|
| + }
|
| + if (_json.containsKey("inviterId")) {
|
| + inviterId = _json["inviterId"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("lastUpdateDetails")) {
|
| + lastUpdateDetails = new RoomModification.fromJson(_json["lastUpdateDetails"]);
|
| + }
|
| + if (_json.containsKey("participants")) {
|
| + participants = _json["participants"].map((value) => new RoomParticipant.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("roomId")) {
|
| + roomId = _json["roomId"];
|
| + }
|
| + if (_json.containsKey("roomStatusVersion")) {
|
| + roomStatusVersion = _json["roomStatusVersion"];
|
| + }
|
| + if (_json.containsKey("status")) {
|
| + status = _json["status"];
|
| + }
|
| + if (_json.containsKey("variant")) {
|
| + variant = _json["variant"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (applicationId != null) {
|
| + _json["applicationId"] = applicationId;
|
| + }
|
| + if (autoMatchingCriteria != null) {
|
| + _json["autoMatchingCriteria"] = (autoMatchingCriteria).toJson();
|
| + }
|
| + if (autoMatchingStatus != null) {
|
| + _json["autoMatchingStatus"] = (autoMatchingStatus).toJson();
|
| + }
|
| + if (creationDetails != null) {
|
| + _json["creationDetails"] = (creationDetails).toJson();
|
| + }
|
| + if (description != null) {
|
| + _json["description"] = description;
|
| + }
|
| + if (inviterId != null) {
|
| + _json["inviterId"] = inviterId;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (lastUpdateDetails != null) {
|
| + _json["lastUpdateDetails"] = (lastUpdateDetails).toJson();
|
| + }
|
| + if (participants != null) {
|
| + _json["participants"] = participants.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (roomId != null) {
|
| + _json["roomId"] = roomId;
|
| + }
|
| + if (roomStatusVersion != null) {
|
| + _json["roomStatusVersion"] = roomStatusVersion;
|
| + }
|
| + if (status != null) {
|
| + _json["status"] = status;
|
| + }
|
| + if (variant != null) {
|
| + _json["variant"] = variant;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * This is a JSON template for status of room automatching that is in progress.
|
| + */
|
| +class RoomAutoMatchStatus {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomAutoMatchStatus.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * An estimate for the amount of time (in seconds) that auto-matching is
|
| + * expected to take to complete.
|
| + */
|
| + core.int waitEstimateSeconds;
|
| +
|
| +
|
| + RoomAutoMatchStatus();
|
| +
|
| + RoomAutoMatchStatus.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("waitEstimateSeconds")) {
|
| + waitEstimateSeconds = _json["waitEstimateSeconds"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (waitEstimateSeconds != null) {
|
| + _json["waitEstimateSeconds"] = waitEstimateSeconds;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a room auto-match criteria object. */
|
| +class RoomAutoMatchingCriteria {
|
| + /**
|
| + * A bitmask indicating when auto-matches are valid. When ANDed with other
|
| + * exclusive bitmasks, the result must be zero. Can be used to support
|
| + * exclusive roles within a game.
|
| + */
|
| + core.String exclusiveBitmask;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomAutoMatchingCriteria.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The maximum number of players that should be added to the room by
|
| + * auto-matching.
|
| + */
|
| + core.int maxAutoMatchingPlayers;
|
| +
|
| + /**
|
| + * The minimum number of players that should be added to the room by
|
| + * auto-matching.
|
| + */
|
| + core.int minAutoMatchingPlayers;
|
| +
|
| +
|
| + RoomAutoMatchingCriteria();
|
| +
|
| + RoomAutoMatchingCriteria.fromJson(core.Map _json) {
|
| + if (_json.containsKey("exclusiveBitmask")) {
|
| + exclusiveBitmask = _json["exclusiveBitmask"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("maxAutoMatchingPlayers")) {
|
| + maxAutoMatchingPlayers = _json["maxAutoMatchingPlayers"];
|
| + }
|
| + if (_json.containsKey("minAutoMatchingPlayers")) {
|
| + minAutoMatchingPlayers = _json["minAutoMatchingPlayers"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (exclusiveBitmask != null) {
|
| + _json["exclusiveBitmask"] = exclusiveBitmask;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (maxAutoMatchingPlayers != null) {
|
| + _json["maxAutoMatchingPlayers"] = maxAutoMatchingPlayers;
|
| + }
|
| + if (minAutoMatchingPlayers != null) {
|
| + _json["minAutoMatchingPlayers"] = minAutoMatchingPlayers;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for the client address when setting up a room. */
|
| +class RoomClientAddress {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomClientAddress.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The XMPP address of the client on the Google Games XMPP network. */
|
| + core.String xmppAddress;
|
| +
|
| +
|
| + RoomClientAddress();
|
| +
|
| + RoomClientAddress.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("xmppAddress")) {
|
| + xmppAddress = _json["xmppAddress"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (xmppAddress != null) {
|
| + _json["xmppAddress"] = xmppAddress;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a room creation request. */
|
| +class RoomCreateRequest {
|
| + /** Criteria for auto-matching players into this room. */
|
| + RoomAutoMatchingCriteria autoMatchingCriteria;
|
| +
|
| + /** The capabilities that this client supports for realtime communication. */
|
| + core.List<core.String> capabilities;
|
| +
|
| + /** Client address for the player creating the room. */
|
| + RoomClientAddress clientAddress;
|
| +
|
| + /** The player IDs to invite to the room. */
|
| + core.List<core.String> invitedPlayerIds;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomCreateRequest.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Network diagnostics for the client creating the room. */
|
| + NetworkDiagnostics networkDiagnostics;
|
| +
|
| + /**
|
| + * A randomly generated numeric ID. This number is used at the server to
|
| + * ensure that the request is handled correctly across retries.
|
| + */
|
| + core.String requestId;
|
| +
|
| + /**
|
| + * The variant / mode of the application to be played. This can be any integer
|
| + * value, or left blank. You should use a small number of variants to keep the
|
| + * auto-matching pool as large as possible.
|
| + */
|
| + core.int variant;
|
| +
|
| +
|
| + RoomCreateRequest();
|
| +
|
| + RoomCreateRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("autoMatchingCriteria")) {
|
| + autoMatchingCriteria = new RoomAutoMatchingCriteria.fromJson(_json["autoMatchingCriteria"]);
|
| + }
|
| + if (_json.containsKey("capabilities")) {
|
| + capabilities = _json["capabilities"];
|
| + }
|
| + if (_json.containsKey("clientAddress")) {
|
| + clientAddress = new RoomClientAddress.fromJson(_json["clientAddress"]);
|
| + }
|
| + if (_json.containsKey("invitedPlayerIds")) {
|
| + invitedPlayerIds = _json["invitedPlayerIds"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("networkDiagnostics")) {
|
| + networkDiagnostics = new NetworkDiagnostics.fromJson(_json["networkDiagnostics"]);
|
| + }
|
| + if (_json.containsKey("requestId")) {
|
| + requestId = _json["requestId"];
|
| + }
|
| + if (_json.containsKey("variant")) {
|
| + variant = _json["variant"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (autoMatchingCriteria != null) {
|
| + _json["autoMatchingCriteria"] = (autoMatchingCriteria).toJson();
|
| + }
|
| + if (capabilities != null) {
|
| + _json["capabilities"] = capabilities;
|
| + }
|
| + if (clientAddress != null) {
|
| + _json["clientAddress"] = (clientAddress).toJson();
|
| + }
|
| + if (invitedPlayerIds != null) {
|
| + _json["invitedPlayerIds"] = invitedPlayerIds;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (networkDiagnostics != null) {
|
| + _json["networkDiagnostics"] = (networkDiagnostics).toJson();
|
| + }
|
| + if (requestId != null) {
|
| + _json["requestId"] = requestId;
|
| + }
|
| + if (variant != null) {
|
| + _json["variant"] = variant;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a join room request. */
|
| +class RoomJoinRequest {
|
| + /** The capabilities that this client supports for realtime communication. */
|
| + core.List<core.String> capabilities;
|
| +
|
| + /** Client address for the player joining the room. */
|
| + RoomClientAddress clientAddress;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomJoinRequest.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Network diagnostics for the client joining the room. */
|
| + NetworkDiagnostics networkDiagnostics;
|
| +
|
| +
|
| + RoomJoinRequest();
|
| +
|
| + RoomJoinRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("capabilities")) {
|
| + capabilities = _json["capabilities"];
|
| + }
|
| + if (_json.containsKey("clientAddress")) {
|
| + clientAddress = new RoomClientAddress.fromJson(_json["clientAddress"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("networkDiagnostics")) {
|
| + networkDiagnostics = new NetworkDiagnostics.fromJson(_json["networkDiagnostics"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (capabilities != null) {
|
| + _json["capabilities"] = capabilities;
|
| + }
|
| + if (clientAddress != null) {
|
| + _json["clientAddress"] = (clientAddress).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (networkDiagnostics != null) {
|
| + _json["networkDiagnostics"] = (networkDiagnostics).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for room leave diagnostics. */
|
| +class RoomLeaveDiagnostics {
|
| + /**
|
| + * Android network subtype.
|
| + * http://developer.android.com/reference/android/net/NetworkInfo.html#getSubtype()
|
| + */
|
| + core.int androidNetworkSubtype;
|
| +
|
| + /**
|
| + * Android network type.
|
| + * http://developer.android.com/reference/android/net/NetworkInfo.html#getType()
|
| + */
|
| + core.int androidNetworkType;
|
| +
|
| + /** iOS network type as defined in Reachability.h. */
|
| + core.int iosNetworkType;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomLeaveDiagnostics.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The MCC+MNC code for the client's network connection. On Android:
|
| + * http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperator()
|
| + * On iOS, see:
|
| + * https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html
|
| + */
|
| + core.String networkOperatorCode;
|
| +
|
| + /**
|
| + * The name of the carrier of the client's network connection. On Android:
|
| + * http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperatorName()
|
| + * On iOS:
|
| + * https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/occ/instp/CTCarrier/carrierName
|
| + */
|
| + core.String networkOperatorName;
|
| +
|
| + /** Diagnostics about all peer sessions. */
|
| + core.List<PeerSessionDiagnostics> peerSession;
|
| +
|
| + /** Whether or not sockets were used. */
|
| + core.bool socketsUsed;
|
| +
|
| +
|
| + RoomLeaveDiagnostics();
|
| +
|
| + RoomLeaveDiagnostics.fromJson(core.Map _json) {
|
| + if (_json.containsKey("androidNetworkSubtype")) {
|
| + androidNetworkSubtype = _json["androidNetworkSubtype"];
|
| + }
|
| + if (_json.containsKey("androidNetworkType")) {
|
| + androidNetworkType = _json["androidNetworkType"];
|
| + }
|
| + if (_json.containsKey("iosNetworkType")) {
|
| + iosNetworkType = _json["iosNetworkType"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("networkOperatorCode")) {
|
| + networkOperatorCode = _json["networkOperatorCode"];
|
| + }
|
| + if (_json.containsKey("networkOperatorName")) {
|
| + networkOperatorName = _json["networkOperatorName"];
|
| + }
|
| + if (_json.containsKey("peerSession")) {
|
| + peerSession = _json["peerSession"].map((value) => new PeerSessionDiagnostics.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("socketsUsed")) {
|
| + socketsUsed = _json["socketsUsed"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (androidNetworkSubtype != null) {
|
| + _json["androidNetworkSubtype"] = androidNetworkSubtype;
|
| + }
|
| + if (androidNetworkType != null) {
|
| + _json["androidNetworkType"] = androidNetworkType;
|
| + }
|
| + if (iosNetworkType != null) {
|
| + _json["iosNetworkType"] = iosNetworkType;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (networkOperatorCode != null) {
|
| + _json["networkOperatorCode"] = networkOperatorCode;
|
| + }
|
| + if (networkOperatorName != null) {
|
| + _json["networkOperatorName"] = networkOperatorName;
|
| + }
|
| + if (peerSession != null) {
|
| + _json["peerSession"] = peerSession.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (socketsUsed != null) {
|
| + _json["socketsUsed"] = socketsUsed;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a leave room request. */
|
| +class RoomLeaveRequest {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomLeaveRequest.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Diagnostics for a player leaving the room. */
|
| + RoomLeaveDiagnostics leaveDiagnostics;
|
| +
|
| + /**
|
| + * Reason for leaving the match.
|
| + * Possible values are:
|
| + * - "PLAYER_LEFT" - The player chose to leave the room..
|
| + * - "GAME_LEFT" - The game chose to remove the player from the room.
|
| + * - "REALTIME_ABANDONED" - The player switched to another application and
|
| + * abandoned the room.
|
| + * - "REALTIME_PEER_CONNECTION_FAILURE" - The client was unable to establish a
|
| + * connection to other peer(s).
|
| + * - "REALTIME_SERVER_CONNECTION_FAILURE" - The client was unable to
|
| + * communicate with the server.
|
| + * - "REALTIME_SERVER_ERROR" - The client received an error response when it
|
| + * tried to communicate with the server.
|
| + * - "REALTIME_TIMEOUT" - The client timed out while waiting for a room.
|
| + * - "REALTIME_CLIENT_DISCONNECTING" - The client disconnects without first
|
| + * calling Leave.
|
| + * - "REALTIME_SIGN_OUT" - The user signed out of G+ while in the room.
|
| + * - "REALTIME_GAME_CRASHED" - The game crashed.
|
| + * - "REALTIME_ROOM_SERVICE_CRASHED" - RoomAndroidService crashed.
|
| + * - "REALTIME_DIFFERENT_CLIENT_ROOM_OPERATION" - Another client is trying to
|
| + * enter a room.
|
| + * - "REALTIME_SAME_CLIENT_ROOM_OPERATION" - The same client is trying to
|
| + * enter a new room.
|
| + */
|
| + core.String reason;
|
| +
|
| +
|
| + RoomLeaveRequest();
|
| +
|
| + RoomLeaveRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("leaveDiagnostics")) {
|
| + leaveDiagnostics = new RoomLeaveDiagnostics.fromJson(_json["leaveDiagnostics"]);
|
| + }
|
| + if (_json.containsKey("reason")) {
|
| + reason = _json["reason"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (leaveDiagnostics != null) {
|
| + _json["leaveDiagnostics"] = (leaveDiagnostics).toJson();
|
| + }
|
| + if (reason != null) {
|
| + _json["reason"] = reason;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of rooms. */
|
| +class RoomList {
|
| + /** The rooms. */
|
| + core.List<Room> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomList.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The pagination token for the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + RoomList();
|
| +
|
| + RoomList.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new Room.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for room modification metadata. */
|
| +class RoomModification {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomModification.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The timestamp at which they modified the room, in milliseconds since the
|
| + * epoch in UTC.
|
| + */
|
| + core.String modifiedTimestampMillis;
|
| +
|
| + /** The ID of the participant that modified the room. */
|
| + core.String participantId;
|
| +
|
| +
|
| + RoomModification();
|
| +
|
| + RoomModification.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("modifiedTimestampMillis")) {
|
| + modifiedTimestampMillis = _json["modifiedTimestampMillis"];
|
| + }
|
| + if (_json.containsKey("participantId")) {
|
| + participantId = _json["participantId"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (modifiedTimestampMillis != null) {
|
| + _json["modifiedTimestampMillis"] = modifiedTimestampMillis;
|
| + }
|
| + if (participantId != null) {
|
| + _json["participantId"] = participantId;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an update on the status of a peer in a room. */
|
| +class RoomP2PStatus {
|
| + /**
|
| + * The amount of time in milliseconds it took to establish connections with
|
| + * this peer.
|
| + */
|
| + core.int connectionSetupLatencyMillis;
|
| +
|
| + /**
|
| + * The error code in event of a failure.
|
| + * Possible values are:
|
| + * - "P2P_FAILED" - The client failed to establish a P2P connection with the
|
| + * peer.
|
| + * - "PRESENCE_FAILED" - The client failed to register to receive P2P
|
| + * connections.
|
| + * - "RELAY_SERVER_FAILED" - The client received an error when trying to use
|
| + * the relay server to establish a P2P connection with the peer.
|
| + */
|
| + core.String error;
|
| +
|
| + /** More detailed diagnostic message returned in event of a failure. */
|
| + core.String errorReason;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomP2PStatus.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The ID of the participant. */
|
| + core.String participantId;
|
| +
|
| + /**
|
| + * The status of the peer in the room.
|
| + * Possible values are:
|
| + * - "CONNECTION_ESTABLISHED" - The client established a P2P connection with
|
| + * the peer.
|
| + * - "CONNECTION_FAILED" - The client failed to establish directed presence
|
| + * with the peer.
|
| + */
|
| + core.String status;
|
| +
|
| + /**
|
| + * The amount of time in milliseconds it took to send packets back and forth
|
| + * on the unreliable channel with this peer.
|
| + */
|
| + core.int unreliableRoundtripLatencyMillis;
|
| +
|
| +
|
| + RoomP2PStatus();
|
| +
|
| + RoomP2PStatus.fromJson(core.Map _json) {
|
| + if (_json.containsKey("connectionSetupLatencyMillis")) {
|
| + connectionSetupLatencyMillis = _json["connectionSetupLatencyMillis"];
|
| + }
|
| + if (_json.containsKey("error")) {
|
| + error = _json["error"];
|
| + }
|
| + if (_json.containsKey("error_reason")) {
|
| + errorReason = _json["error_reason"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("participantId")) {
|
| + participantId = _json["participantId"];
|
| + }
|
| + if (_json.containsKey("status")) {
|
| + status = _json["status"];
|
| + }
|
| + if (_json.containsKey("unreliableRoundtripLatencyMillis")) {
|
| + unreliableRoundtripLatencyMillis = _json["unreliableRoundtripLatencyMillis"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (connectionSetupLatencyMillis != null) {
|
| + _json["connectionSetupLatencyMillis"] = connectionSetupLatencyMillis;
|
| + }
|
| + if (error != null) {
|
| + _json["error"] = error;
|
| + }
|
| + if (errorReason != null) {
|
| + _json["error_reason"] = errorReason;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (participantId != null) {
|
| + _json["participantId"] = participantId;
|
| + }
|
| + if (status != null) {
|
| + _json["status"] = status;
|
| + }
|
| + if (unreliableRoundtripLatencyMillis != null) {
|
| + _json["unreliableRoundtripLatencyMillis"] = unreliableRoundtripLatencyMillis;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an update on the status of peers in a room. */
|
| +class RoomP2PStatuses {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomP2PStatuses.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The updates for the peers. */
|
| + core.List<RoomP2PStatus> updates;
|
| +
|
| +
|
| + RoomP2PStatuses();
|
| +
|
| + RoomP2PStatuses.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("updates")) {
|
| + updates = _json["updates"].map((value) => new RoomP2PStatus.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (updates != null) {
|
| + _json["updates"] = updates.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a participant in a room. */
|
| +class RoomParticipant {
|
| + /** True if this participant was auto-matched with the requesting player. */
|
| + core.bool autoMatched;
|
| +
|
| + /**
|
| + * Information about a player that has been anonymously auto-matched against
|
| + * the requesting player. (Either player or autoMatchedPlayer will be set.)
|
| + */
|
| + AnonymousPlayer autoMatchedPlayer;
|
| +
|
| + /**
|
| + * The capabilities which can be used when communicating with this
|
| + * participant.
|
| + */
|
| + core.List<core.String> capabilities;
|
| +
|
| + /** Client address for the participant. */
|
| + RoomClientAddress clientAddress;
|
| +
|
| + /**
|
| + * True if this participant is in the fully connected set of peers in the
|
| + * room.
|
| + */
|
| + core.bool connected;
|
| +
|
| + /**
|
| + * An identifier for the participant in the scope of the room. Cannot be used
|
| + * to identify a player across rooms or in other contexts.
|
| + */
|
| + core.String id;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomParticipant.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The reason the participant left the room; populated if the participant
|
| + * status is PARTICIPANT_LEFT.
|
| + * Possible values are:
|
| + * - "PLAYER_LEFT" - The player explicitly chose to leave the room.
|
| + * - "GAME_LEFT" - The game chose to remove the player from the room.
|
| + * - "ABANDONED" - The player switched to another application and abandoned
|
| + * the room.
|
| + * - "PEER_CONNECTION_FAILURE" - The client was unable to establish or
|
| + * maintain a connection to other peer(s) in the room.
|
| + * - "SERVER_ERROR" - The client received an error response when it tried to
|
| + * communicate with the server.
|
| + * - "TIMEOUT" - The client timed out while waiting for players to join and
|
| + * connect.
|
| + * - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
|
| + */
|
| + core.String leaveReason;
|
| +
|
| + /**
|
| + * Information about the player. Not populated if this player was anonymously
|
| + * auto-matched against the requesting player. (Either player or
|
| + * autoMatchedPlayer will be set.)
|
| + */
|
| + Player player;
|
| +
|
| + /**
|
| + * The status of the participant with respect to the room.
|
| + * Possible values are:
|
| + * - "PARTICIPANT_INVITED" - The participant has been invited to join the
|
| + * room, but has not yet responded.
|
| + * - "PARTICIPANT_JOINED" - The participant has joined the room (either after
|
| + * creating it or accepting an invitation.)
|
| + * - "PARTICIPANT_DECLINED" - The participant declined an invitation to join
|
| + * the room.
|
| + * - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
|
| + */
|
| + core.String status;
|
| +
|
| +
|
| + RoomParticipant();
|
| +
|
| + RoomParticipant.fromJson(core.Map _json) {
|
| + if (_json.containsKey("autoMatched")) {
|
| + autoMatched = _json["autoMatched"];
|
| + }
|
| + if (_json.containsKey("autoMatchedPlayer")) {
|
| + autoMatchedPlayer = new AnonymousPlayer.fromJson(_json["autoMatchedPlayer"]);
|
| + }
|
| + if (_json.containsKey("capabilities")) {
|
| + capabilities = _json["capabilities"];
|
| + }
|
| + if (_json.containsKey("clientAddress")) {
|
| + clientAddress = new RoomClientAddress.fromJson(_json["clientAddress"]);
|
| + }
|
| + if (_json.containsKey("connected")) {
|
| + connected = _json["connected"];
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("leaveReason")) {
|
| + leaveReason = _json["leaveReason"];
|
| + }
|
| + if (_json.containsKey("player")) {
|
| + player = new Player.fromJson(_json["player"]);
|
| + }
|
| + if (_json.containsKey("status")) {
|
| + status = _json["status"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (autoMatched != null) {
|
| + _json["autoMatched"] = autoMatched;
|
| + }
|
| + if (autoMatchedPlayer != null) {
|
| + _json["autoMatchedPlayer"] = (autoMatchedPlayer).toJson();
|
| + }
|
| + if (capabilities != null) {
|
| + _json["capabilities"] = capabilities;
|
| + }
|
| + if (clientAddress != null) {
|
| + _json["clientAddress"] = (clientAddress).toJson();
|
| + }
|
| + if (connected != null) {
|
| + _json["connected"] = connected;
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (leaveReason != null) {
|
| + _json["leaveReason"] = leaveReason;
|
| + }
|
| + if (player != null) {
|
| + _json["player"] = (player).toJson();
|
| + }
|
| + if (status != null) {
|
| + _json["status"] = status;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * This is a JSON template for the status of a room that the player has joined.
|
| + */
|
| +class RoomStatus {
|
| + /**
|
| + * Auto-matching status for this room. Not set if the room is not currently in
|
| + * the automatching queue.
|
| + */
|
| + RoomAutoMatchStatus autoMatchingStatus;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#roomStatus.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The participants involved in the room, along with their statuses. Includes
|
| + * participants who have left or declined invitations.
|
| + */
|
| + core.List<RoomParticipant> participants;
|
| +
|
| + /** Globally unique ID for a room. */
|
| + core.String roomId;
|
| +
|
| + /**
|
| + * The status of the room.
|
| + * Possible values are:
|
| + * - "ROOM_INVITING" - One or more players have been invited and not
|
| + * responded.
|
| + * - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by
|
| + * auto-matching.
|
| + * - "ROOM_CONNECTING" - Players have joined are connecting to each other
|
| + * (either before or after auto-matching).
|
| + * - "ROOM_ACTIVE" - All players have joined and connected to each other.
|
| + * - "ROOM_DELETED" - All joined players have left.
|
| + */
|
| + core.String status;
|
| +
|
| + /**
|
| + * The version of the status for the room: an increasing counter, used by the
|
| + * client to ignore out-of-order updates to room status.
|
| + */
|
| + core.int statusVersion;
|
| +
|
| +
|
| + RoomStatus();
|
| +
|
| + RoomStatus.fromJson(core.Map _json) {
|
| + if (_json.containsKey("autoMatchingStatus")) {
|
| + autoMatchingStatus = new RoomAutoMatchStatus.fromJson(_json["autoMatchingStatus"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("participants")) {
|
| + participants = _json["participants"].map((value) => new RoomParticipant.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("roomId")) {
|
| + roomId = _json["roomId"];
|
| + }
|
| + if (_json.containsKey("status")) {
|
| + status = _json["status"];
|
| + }
|
| + if (_json.containsKey("statusVersion")) {
|
| + statusVersion = _json["statusVersion"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (autoMatchingStatus != null) {
|
| + _json["autoMatchingStatus"] = (autoMatchingStatus).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (participants != null) {
|
| + _json["participants"] = participants.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (roomId != null) {
|
| + _json["roomId"] = roomId;
|
| + }
|
| + if (status != null) {
|
| + _json["status"] = status;
|
| + }
|
| + if (statusVersion != null) {
|
| + _json["statusVersion"] = statusVersion;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a request to submit a score to leaderboards. */
|
| +class ScoreSubmission {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#scoreSubmission.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The leaderboard this score is being submitted to. */
|
| + core.String leaderboardId;
|
| +
|
| + /** The new score being submitted. */
|
| + core.String score;
|
| +
|
| + /**
|
| + * Additional information about this score. Values will contain no more than
|
| + * 64 URI-safe characters as defined by section 2.3 of RFC 3986.
|
| + */
|
| + core.String scoreTag;
|
| +
|
| + /**
|
| + * Signature Values will contain URI-safe characters as defined by section 2.3
|
| + * of RFC 3986.
|
| + */
|
| + core.String signature;
|
| +
|
| +
|
| + ScoreSubmission();
|
| +
|
| + ScoreSubmission.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("leaderboardId")) {
|
| + leaderboardId = _json["leaderboardId"];
|
| + }
|
| + if (_json.containsKey("score")) {
|
| + score = _json["score"];
|
| + }
|
| + if (_json.containsKey("scoreTag")) {
|
| + scoreTag = _json["scoreTag"];
|
| + }
|
| + if (_json.containsKey("signature")) {
|
| + signature = _json["signature"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (leaderboardId != null) {
|
| + _json["leaderboardId"] = leaderboardId;
|
| + }
|
| + if (score != null) {
|
| + _json["score"] = score;
|
| + }
|
| + if (scoreTag != null) {
|
| + _json["scoreTag"] = scoreTag;
|
| + }
|
| + if (signature != null) {
|
| + _json["signature"] = signature;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an snapshot object. */
|
| +class Snapshot {
|
| + /** The cover image of this snapshot. May be absent if there is no image. */
|
| + SnapshotImage coverImage;
|
| +
|
| + /** The description of this snapshot. */
|
| + core.String description;
|
| +
|
| + /**
|
| + * The ID of the file underlying this snapshot in the Drive API. Only present
|
| + * if the snapshot is a view on a Drive file and the file is owned by the
|
| + * caller.
|
| + */
|
| + core.String driveId;
|
| +
|
| + /** The duration associated with this snapshot, in millis. */
|
| + core.String durationMillis;
|
| +
|
| + /** The ID of the snapshot. */
|
| + core.String id;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#snapshot.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The timestamp (in millis since Unix epoch) of the last modification to this
|
| + * snapshot.
|
| + */
|
| + core.String lastModifiedMillis;
|
| +
|
| + /** The title of this snapshot. */
|
| + core.String title;
|
| +
|
| + /**
|
| + * The type of this snapshot.
|
| + * Possible values are:
|
| + * - "SAVE_GAME" - A snapshot representing a save game.
|
| + */
|
| + core.String type;
|
| +
|
| + /** The unique name provided when the snapshot was created. */
|
| + core.String uniqueName;
|
| +
|
| +
|
| + Snapshot();
|
| +
|
| + Snapshot.fromJson(core.Map _json) {
|
| + if (_json.containsKey("coverImage")) {
|
| + coverImage = new SnapshotImage.fromJson(_json["coverImage"]);
|
| + }
|
| + if (_json.containsKey("description")) {
|
| + description = _json["description"];
|
| + }
|
| + if (_json.containsKey("driveId")) {
|
| + driveId = _json["driveId"];
|
| + }
|
| + if (_json.containsKey("durationMillis")) {
|
| + durationMillis = _json["durationMillis"];
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("lastModifiedMillis")) {
|
| + lastModifiedMillis = _json["lastModifiedMillis"];
|
| + }
|
| + if (_json.containsKey("title")) {
|
| + title = _json["title"];
|
| + }
|
| + if (_json.containsKey("type")) {
|
| + type = _json["type"];
|
| + }
|
| + if (_json.containsKey("uniqueName")) {
|
| + uniqueName = _json["uniqueName"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (coverImage != null) {
|
| + _json["coverImage"] = (coverImage).toJson();
|
| + }
|
| + if (description != null) {
|
| + _json["description"] = description;
|
| + }
|
| + if (driveId != null) {
|
| + _json["driveId"] = driveId;
|
| + }
|
| + if (durationMillis != null) {
|
| + _json["durationMillis"] = durationMillis;
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (lastModifiedMillis != null) {
|
| + _json["lastModifiedMillis"] = lastModifiedMillis;
|
| + }
|
| + if (title != null) {
|
| + _json["title"] = title;
|
| + }
|
| + if (type != null) {
|
| + _json["type"] = type;
|
| + }
|
| + if (uniqueName != null) {
|
| + _json["uniqueName"] = uniqueName;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an image of a snapshot. */
|
| +class SnapshotImage {
|
| + /** The height of the image. */
|
| + core.int height;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#snapshotImage.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The MIME type of the image. */
|
| + core.String mimeType;
|
| +
|
| + /**
|
| + * The URL of the image. This URL may be invalidated at any time and should
|
| + * not be cached.
|
| + */
|
| + core.String url;
|
| +
|
| + /** The width of the image. */
|
| + core.int width;
|
| +
|
| +
|
| + SnapshotImage();
|
| +
|
| + SnapshotImage.fromJson(core.Map _json) {
|
| + if (_json.containsKey("height")) {
|
| + height = _json["height"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("mime_type")) {
|
| + mimeType = _json["mime_type"];
|
| + }
|
| + if (_json.containsKey("url")) {
|
| + url = _json["url"];
|
| + }
|
| + if (_json.containsKey("width")) {
|
| + width = _json["width"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (height != null) {
|
| + _json["height"] = height;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (mimeType != null) {
|
| + _json["mime_type"] = mimeType;
|
| + }
|
| + if (url != null) {
|
| + _json["url"] = url;
|
| + }
|
| + if (width != null) {
|
| + _json["width"] = width;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of snapshot objects. */
|
| +class SnapshotListResponse {
|
| + /** The snapshots. */
|
| + core.List<Snapshot> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#snapshotListResponse.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * Token corresponding to the next page of results. If there are no more
|
| + * results, the token is omitted.
|
| + */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + SnapshotListResponse();
|
| +
|
| + SnapshotListResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new Snapshot.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for an turn-based auto-match criteria object. */
|
| +class TurnBasedAutoMatchingCriteria {
|
| + /**
|
| + * A bitmask indicating when auto-matches are valid. When ANDed with other
|
| + * exclusive bitmasks, the result must be zero. Can be used to support
|
| + * exclusive roles within a game.
|
| + */
|
| + core.String exclusiveBitmask;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedAutoMatchingCriteria.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The maximum number of players that should be added to the match by
|
| + * auto-matching.
|
| + */
|
| + core.int maxAutoMatchingPlayers;
|
| +
|
| + /**
|
| + * The minimum number of players that should be added to the match by
|
| + * auto-matching.
|
| + */
|
| + core.int minAutoMatchingPlayers;
|
| +
|
| +
|
| + TurnBasedAutoMatchingCriteria();
|
| +
|
| + TurnBasedAutoMatchingCriteria.fromJson(core.Map _json) {
|
| + if (_json.containsKey("exclusiveBitmask")) {
|
| + exclusiveBitmask = _json["exclusiveBitmask"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("maxAutoMatchingPlayers")) {
|
| + maxAutoMatchingPlayers = _json["maxAutoMatchingPlayers"];
|
| + }
|
| + if (_json.containsKey("minAutoMatchingPlayers")) {
|
| + minAutoMatchingPlayers = _json["minAutoMatchingPlayers"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (exclusiveBitmask != null) {
|
| + _json["exclusiveBitmask"] = exclusiveBitmask;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (maxAutoMatchingPlayers != null) {
|
| + _json["maxAutoMatchingPlayers"] = maxAutoMatchingPlayers;
|
| + }
|
| + if (minAutoMatchingPlayers != null) {
|
| + _json["minAutoMatchingPlayers"] = minAutoMatchingPlayers;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a turn-based match resource object. */
|
| +class TurnBasedMatch {
|
| + /** The ID of the application being played. */
|
| + core.String applicationId;
|
| +
|
| + /** Criteria for auto-matching players into this match. */
|
| + TurnBasedAutoMatchingCriteria autoMatchingCriteria;
|
| +
|
| + /** Details about the match creation. */
|
| + TurnBasedMatchModification creationDetails;
|
| +
|
| + /** The data / game state for this match. */
|
| + TurnBasedMatchData data;
|
| +
|
| + /**
|
| + * This short description is generated by our servers based on turn state and
|
| + * is localized and worded relative to the player requesting the match. It is
|
| + * intended to be displayed when the match is shown in a list.
|
| + */
|
| + core.String description;
|
| +
|
| + /**
|
| + * The ID of the participant that invited the user to the match. Not set if
|
| + * the user was not invited to the match.
|
| + */
|
| + core.String inviterId;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedMatch.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** Details about the last update to the match. */
|
| + TurnBasedMatchModification lastUpdateDetails;
|
| +
|
| + /** Globally unique ID for a turn-based match. */
|
| + core.String matchId;
|
| +
|
| + /**
|
| + * The number of the match in a chain of rematches. Will be set to 1 for the
|
| + * first match and incremented by 1 for each rematch.
|
| + */
|
| + core.int matchNumber;
|
| +
|
| + /**
|
| + * The version of this match: an increasing counter, used to avoid out-of-date
|
| + * updates to the match.
|
| + */
|
| + core.int matchVersion;
|
| +
|
| + /**
|
| + * The participants involved in the match, along with their statuses. Includes
|
| + * participants who have left or declined invitations.
|
| + */
|
| + core.List<TurnBasedMatchParticipant> participants;
|
| +
|
| + /** The ID of the participant that is taking a turn. */
|
| + core.String pendingParticipantId;
|
| +
|
| + /**
|
| + * The data / game state for the previous match; set for the first turn of
|
| + * rematches only.
|
| + */
|
| + TurnBasedMatchData previousMatchData;
|
| +
|
| + /**
|
| + * The ID of a rematch of this match. Only set for completed matches that have
|
| + * been rematched.
|
| + */
|
| + core.String rematchId;
|
| +
|
| + /** The results reported for this match. */
|
| + core.List<ParticipantResult> results;
|
| +
|
| + /**
|
| + * The status of the match.
|
| + * Possible values are:
|
| + * - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by
|
| + * auto-matching; the match cannot be established until they are filled.
|
| + * - "MATCH_ACTIVE" - The match has started.
|
| + * - "MATCH_COMPLETE" - The match has finished.
|
| + * - "MATCH_CANCELED" - The match was canceled.
|
| + * - "MATCH_EXPIRED" - The match expired due to inactivity.
|
| + * - "MATCH_DELETED" - The match should no longer be shown on the client.
|
| + * Returned only for tombstones for matches when sync is called.
|
| + */
|
| + core.String status;
|
| +
|
| + /**
|
| + * The status of the current user in the match. Derived from the match type,
|
| + * match status, the user's participant status, and the pending participant
|
| + * for the match.
|
| + * Possible values are:
|
| + * - "USER_INVITED" - The user has been invited to join the match and has not
|
| + * responded yet.
|
| + * - "USER_AWAITING_TURN" - The user is waiting for their turn.
|
| + * - "USER_TURN" - The user has an action to take in the match.
|
| + * - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled,
|
| + * or expired.)
|
| + */
|
| + core.String userMatchStatus;
|
| +
|
| + /**
|
| + * The variant / mode of the application being played; can be any integer
|
| + * value, or left blank.
|
| + */
|
| + core.int variant;
|
| +
|
| + /**
|
| + * The ID of another participant in the match that can be used when describing
|
| + * the participants the user is playing with.
|
| + */
|
| + core.String withParticipantId;
|
| +
|
| +
|
| + TurnBasedMatch();
|
| +
|
| + TurnBasedMatch.fromJson(core.Map _json) {
|
| + if (_json.containsKey("applicationId")) {
|
| + applicationId = _json["applicationId"];
|
| + }
|
| + if (_json.containsKey("autoMatchingCriteria")) {
|
| + autoMatchingCriteria = new TurnBasedAutoMatchingCriteria.fromJson(_json["autoMatchingCriteria"]);
|
| + }
|
| + if (_json.containsKey("creationDetails")) {
|
| + creationDetails = new TurnBasedMatchModification.fromJson(_json["creationDetails"]);
|
| + }
|
| + if (_json.containsKey("data")) {
|
| + data = new TurnBasedMatchData.fromJson(_json["data"]);
|
| + }
|
| + if (_json.containsKey("description")) {
|
| + description = _json["description"];
|
| + }
|
| + if (_json.containsKey("inviterId")) {
|
| + inviterId = _json["inviterId"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("lastUpdateDetails")) {
|
| + lastUpdateDetails = new TurnBasedMatchModification.fromJson(_json["lastUpdateDetails"]);
|
| + }
|
| + if (_json.containsKey("matchId")) {
|
| + matchId = _json["matchId"];
|
| + }
|
| + if (_json.containsKey("matchNumber")) {
|
| + matchNumber = _json["matchNumber"];
|
| + }
|
| + if (_json.containsKey("matchVersion")) {
|
| + matchVersion = _json["matchVersion"];
|
| + }
|
| + if (_json.containsKey("participants")) {
|
| + participants = _json["participants"].map((value) => new TurnBasedMatchParticipant.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("pendingParticipantId")) {
|
| + pendingParticipantId = _json["pendingParticipantId"];
|
| + }
|
| + if (_json.containsKey("previousMatchData")) {
|
| + previousMatchData = new TurnBasedMatchData.fromJson(_json["previousMatchData"]);
|
| + }
|
| + if (_json.containsKey("rematchId")) {
|
| + rematchId = _json["rematchId"];
|
| + }
|
| + if (_json.containsKey("results")) {
|
| + results = _json["results"].map((value) => new ParticipantResult.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("status")) {
|
| + status = _json["status"];
|
| + }
|
| + if (_json.containsKey("userMatchStatus")) {
|
| + userMatchStatus = _json["userMatchStatus"];
|
| + }
|
| + if (_json.containsKey("variant")) {
|
| + variant = _json["variant"];
|
| + }
|
| + if (_json.containsKey("withParticipantId")) {
|
| + withParticipantId = _json["withParticipantId"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (applicationId != null) {
|
| + _json["applicationId"] = applicationId;
|
| + }
|
| + if (autoMatchingCriteria != null) {
|
| + _json["autoMatchingCriteria"] = (autoMatchingCriteria).toJson();
|
| + }
|
| + if (creationDetails != null) {
|
| + _json["creationDetails"] = (creationDetails).toJson();
|
| + }
|
| + if (data != null) {
|
| + _json["data"] = (data).toJson();
|
| + }
|
| + if (description != null) {
|
| + _json["description"] = description;
|
| + }
|
| + if (inviterId != null) {
|
| + _json["inviterId"] = inviterId;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (lastUpdateDetails != null) {
|
| + _json["lastUpdateDetails"] = (lastUpdateDetails).toJson();
|
| + }
|
| + if (matchId != null) {
|
| + _json["matchId"] = matchId;
|
| + }
|
| + if (matchNumber != null) {
|
| + _json["matchNumber"] = matchNumber;
|
| + }
|
| + if (matchVersion != null) {
|
| + _json["matchVersion"] = matchVersion;
|
| + }
|
| + if (participants != null) {
|
| + _json["participants"] = participants.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (pendingParticipantId != null) {
|
| + _json["pendingParticipantId"] = pendingParticipantId;
|
| + }
|
| + if (previousMatchData != null) {
|
| + _json["previousMatchData"] = (previousMatchData).toJson();
|
| + }
|
| + if (rematchId != null) {
|
| + _json["rematchId"] = rematchId;
|
| + }
|
| + if (results != null) {
|
| + _json["results"] = results.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (status != null) {
|
| + _json["status"] = status;
|
| + }
|
| + if (userMatchStatus != null) {
|
| + _json["userMatchStatus"] = userMatchStatus;
|
| + }
|
| + if (variant != null) {
|
| + _json["variant"] = variant;
|
| + }
|
| + if (withParticipantId != null) {
|
| + _json["withParticipantId"] = withParticipantId;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a turn-based match creation request. */
|
| +class TurnBasedMatchCreateRequest {
|
| + /** Criteria for auto-matching players into this match. */
|
| + TurnBasedAutoMatchingCriteria autoMatchingCriteria;
|
| +
|
| + /** The player ids to invite to the match. */
|
| + core.List<core.String> invitedPlayerIds;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedMatchCreateRequest.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * A randomly generated numeric ID. This number is used at the server to
|
| + * ensure that the request is handled correctly across retries.
|
| + */
|
| + core.String requestId;
|
| +
|
| + /**
|
| + * The variant / mode of the application to be played. This can be any integer
|
| + * value, or left blank. You should use a small number of variants to keep the
|
| + * auto-matching pool as large as possible.
|
| + */
|
| + core.int variant;
|
| +
|
| +
|
| + TurnBasedMatchCreateRequest();
|
| +
|
| + TurnBasedMatchCreateRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("autoMatchingCriteria")) {
|
| + autoMatchingCriteria = new TurnBasedAutoMatchingCriteria.fromJson(_json["autoMatchingCriteria"]);
|
| + }
|
| + if (_json.containsKey("invitedPlayerIds")) {
|
| + invitedPlayerIds = _json["invitedPlayerIds"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("requestId")) {
|
| + requestId = _json["requestId"];
|
| + }
|
| + if (_json.containsKey("variant")) {
|
| + variant = _json["variant"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (autoMatchingCriteria != null) {
|
| + _json["autoMatchingCriteria"] = (autoMatchingCriteria).toJson();
|
| + }
|
| + if (invitedPlayerIds != null) {
|
| + _json["invitedPlayerIds"] = invitedPlayerIds;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (requestId != null) {
|
| + _json["requestId"] = requestId;
|
| + }
|
| + if (variant != null) {
|
| + _json["variant"] = variant;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a turn-based match data object. */
|
| +class TurnBasedMatchData {
|
| + /**
|
| + * The byte representation of the data (limited to 128 kB), as a
|
| + * Base64-encoded string with the URL_SAFE encoding option.
|
| + */
|
| + core.String data;
|
| +
|
| + core.List<core.int> get dataAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(data);
|
| + }
|
| +
|
| + void set dataAsBytes(core.List<core.int> _bytes) {
|
| + data = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| + /**
|
| + * True if this match has data available but it wasn't returned in a list
|
| + * response; fetching the match individually will retrieve this data.
|
| + */
|
| + core.bool dataAvailable;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedMatchData.
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + TurnBasedMatchData();
|
| +
|
| + TurnBasedMatchData.fromJson(core.Map _json) {
|
| + if (_json.containsKey("data")) {
|
| + data = _json["data"];
|
| + }
|
| + if (_json.containsKey("dataAvailable")) {
|
| + dataAvailable = _json["dataAvailable"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (data != null) {
|
| + _json["data"] = data;
|
| + }
|
| + if (dataAvailable != null) {
|
| + _json["dataAvailable"] = dataAvailable;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for sending a turn-based match data object. */
|
| +class TurnBasedMatchDataRequest {
|
| + /**
|
| + * The byte representation of the data (limited to 128 kB), as a
|
| + * Base64-encoded string with the URL_SAFE encoding option.
|
| + */
|
| + core.String data;
|
| +
|
| + core.List<core.int> get dataAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(data);
|
| + }
|
| +
|
| + void set dataAsBytes(core.List<core.int> _bytes) {
|
| + data = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedMatchDataRequest.
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + TurnBasedMatchDataRequest();
|
| +
|
| + TurnBasedMatchDataRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("data")) {
|
| + data = _json["data"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (data != null) {
|
| + _json["data"] = data;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a list of turn-based matches. */
|
| +class TurnBasedMatchList {
|
| + /** The matches. */
|
| + core.List<TurnBasedMatch> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedMatchList.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The pagination token for the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + TurnBasedMatchList();
|
| +
|
| + TurnBasedMatchList.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new TurnBasedMatch.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for turn-based match modification metadata. */
|
| +class TurnBasedMatchModification {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedMatchModification.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The timestamp at which they modified the match, in milliseconds since the
|
| + * epoch in UTC.
|
| + */
|
| + core.String modifiedTimestampMillis;
|
| +
|
| + /** The ID of the participant that modified the match. */
|
| + core.String participantId;
|
| +
|
| +
|
| + TurnBasedMatchModification();
|
| +
|
| + TurnBasedMatchModification.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("modifiedTimestampMillis")) {
|
| + modifiedTimestampMillis = _json["modifiedTimestampMillis"];
|
| + }
|
| + if (_json.containsKey("participantId")) {
|
| + participantId = _json["participantId"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (modifiedTimestampMillis != null) {
|
| + _json["modifiedTimestampMillis"] = modifiedTimestampMillis;
|
| + }
|
| + if (participantId != null) {
|
| + _json["participantId"] = participantId;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a participant in a turn-based match. */
|
| +class TurnBasedMatchParticipant {
|
| + /** True if this participant was auto-matched with the requesting player. */
|
| + core.bool autoMatched;
|
| +
|
| + /**
|
| + * Information about a player that has been anonymously auto-matched against
|
| + * the requesting player. (Either player or autoMatchedPlayer will be set.)
|
| + */
|
| + AnonymousPlayer autoMatchedPlayer;
|
| +
|
| + /**
|
| + * An identifier for the participant in the scope of the match. Cannot be used
|
| + * to identify a player across matches or in other contexts.
|
| + */
|
| + core.String id;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedMatchParticipant.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * Information about the player. Not populated if this player was anonymously
|
| + * auto-matched against the requesting player. (Either player or
|
| + * autoMatchedPlayer will be set.)
|
| + */
|
| + Player player;
|
| +
|
| + /**
|
| + * The status of the participant with respect to the match.
|
| + * Possible values are:
|
| + * - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited
|
| + * to the match, but the invitation has not been sent; the invite will be sent
|
| + * when it becomes their turn.
|
| + * - "PARTICIPANT_INVITED" - The participant has been invited to join the
|
| + * match, but has not yet responded.
|
| + * - "PARTICIPANT_JOINED" - The participant has joined the match (either after
|
| + * creating it or accepting an invitation.)
|
| + * - "PARTICIPANT_DECLINED" - The participant declined an invitation to join
|
| + * the match.
|
| + * - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
|
| + * - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
|
| + * - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in
|
| + * the allotted time.
|
| + */
|
| + core.String status;
|
| +
|
| +
|
| + TurnBasedMatchParticipant();
|
| +
|
| + TurnBasedMatchParticipant.fromJson(core.Map _json) {
|
| + if (_json.containsKey("autoMatched")) {
|
| + autoMatched = _json["autoMatched"];
|
| + }
|
| + if (_json.containsKey("autoMatchedPlayer")) {
|
| + autoMatchedPlayer = new AnonymousPlayer.fromJson(_json["autoMatchedPlayer"]);
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("player")) {
|
| + player = new Player.fromJson(_json["player"]);
|
| + }
|
| + if (_json.containsKey("status")) {
|
| + status = _json["status"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (autoMatched != null) {
|
| + _json["autoMatched"] = autoMatched;
|
| + }
|
| + if (autoMatchedPlayer != null) {
|
| + _json["autoMatchedPlayer"] = (autoMatchedPlayer).toJson();
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (player != null) {
|
| + _json["player"] = (player).toJson();
|
| + }
|
| + if (status != null) {
|
| + _json["status"] = status;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a rematch response. */
|
| +class TurnBasedMatchRematch {
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedMatchRematch.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The old match that the rematch was created from; will be updated such that
|
| + * the rematchId field will point at the new match.
|
| + */
|
| + TurnBasedMatch previousMatch;
|
| +
|
| + /**
|
| + * The newly created match; a rematch of the old match with the same
|
| + * participants.
|
| + */
|
| + TurnBasedMatch rematch;
|
| +
|
| +
|
| + TurnBasedMatchRematch();
|
| +
|
| + TurnBasedMatchRematch.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("previousMatch")) {
|
| + previousMatch = new TurnBasedMatch.fromJson(_json["previousMatch"]);
|
| + }
|
| + if (_json.containsKey("rematch")) {
|
| + rematch = new TurnBasedMatch.fromJson(_json["rematch"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (previousMatch != null) {
|
| + _json["previousMatch"] = (previousMatch).toJson();
|
| + }
|
| + if (rematch != null) {
|
| + _json["rematch"] = (rematch).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for a turn-based match results object. */
|
| +class TurnBasedMatchResults {
|
| + /** The final match data. */
|
| + TurnBasedMatchDataRequest data;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedMatchResults.
|
| + */
|
| + core.String kind;
|
| +
|
| + /** The version of the match being updated. */
|
| + core.int matchVersion;
|
| +
|
| + /** The match results for the participants in the match. */
|
| + core.List<ParticipantResult> results;
|
| +
|
| +
|
| + TurnBasedMatchResults();
|
| +
|
| + TurnBasedMatchResults.fromJson(core.Map _json) {
|
| + if (_json.containsKey("data")) {
|
| + data = new TurnBasedMatchDataRequest.fromJson(_json["data"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("matchVersion")) {
|
| + matchVersion = _json["matchVersion"];
|
| + }
|
| + if (_json.containsKey("results")) {
|
| + results = _json["results"].map((value) => new ParticipantResult.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (data != null) {
|
| + _json["data"] = (data).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (matchVersion != null) {
|
| + _json["matchVersion"] = matchVersion;
|
| + }
|
| + if (results != null) {
|
| + _json["results"] = results.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * This is a JSON template for a list of turn-based matches returned from a
|
| + * sync.
|
| + */
|
| +class TurnBasedMatchSync {
|
| + /** The matches. */
|
| + core.List<TurnBasedMatch> items;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedMatchSync.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * True if there were more matches available to fetch at the time the response
|
| + * was generated (which were not returned due to page size limits.)
|
| + */
|
| + core.bool moreAvailable;
|
| +
|
| + /** The pagination token for the next page of results. */
|
| + core.String nextPageToken;
|
| +
|
| +
|
| + TurnBasedMatchSync();
|
| +
|
| + TurnBasedMatchSync.fromJson(core.Map _json) {
|
| + if (_json.containsKey("items")) {
|
| + items = _json["items"].map((value) => new TurnBasedMatch.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("moreAvailable")) {
|
| + moreAvailable = _json["moreAvailable"];
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (items != null) {
|
| + _json["items"] = items.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (moreAvailable != null) {
|
| + _json["moreAvailable"] = moreAvailable;
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** This is a JSON template for the object representing a turn. */
|
| +class TurnBasedMatchTurn {
|
| + /** The shared game state data after the turn is over. */
|
| + TurnBasedMatchDataRequest data;
|
| +
|
| + /**
|
| + * Uniquely identifies the type of this resource. Value is always the fixed
|
| + * string games#turnBasedMatchTurn.
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The version of this match: an increasing counter, used to avoid out-of-date
|
| + * updates to the match.
|
| + */
|
| + core.int matchVersion;
|
| +
|
| + /**
|
| + * The ID of the participant who should take their turn next. May be set to
|
| + * the current player's participant ID to update match state without changing
|
| + * the turn. If not set, the match will wait for other player(s) to join via
|
| + * automatching; this is only valid if automatch criteria is set on the match
|
| + * with remaining slots for automatched players.
|
| + */
|
| + core.String pendingParticipantId;
|
| +
|
| + /** The match results for the participants in the match. */
|
| + core.List<ParticipantResult> results;
|
| +
|
| +
|
| + TurnBasedMatchTurn();
|
| +
|
| + TurnBasedMatchTurn.fromJson(core.Map _json) {
|
| + if (_json.containsKey("data")) {
|
| + data = new TurnBasedMatchDataRequest.fromJson(_json["data"]);
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("matchVersion")) {
|
| + matchVersion = _json["matchVersion"];
|
| + }
|
| + if (_json.containsKey("pendingParticipantId")) {
|
| + pendingParticipantId = _json["pendingParticipantId"];
|
| + }
|
| + if (_json.containsKey("results")) {
|
| + results = _json["results"].map((value) => new ParticipantResult.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (data != null) {
|
| + _json["data"] = (data).toJson();
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (matchVersion != null) {
|
| + _json["matchVersion"] = matchVersion;
|
| + }
|
| + if (pendingParticipantId != null) {
|
| + _json["pendingParticipantId"] = pendingParticipantId;
|
| + }
|
| + if (results != null) {
|
| + _json["results"] = results.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
|
|