Value Types

Immutable value types representing Game Services data.

Summary

Accessor methods on Managers supply results as a pair, either asynchronously (via a callback) or synchronously (in the case of a blocking accessor).

Value type objects can be either valid (representing a valid value) or invalid. If the status returned along with the value type object IsSuccess(), then the associated value will always be valid; if the status IsError(), then the associated value will always be invalid. Validity can be tested directly via the Valid() method on each value type object. Calling methods other than Valid() of an invalid value type object is an error and should be avoided.

Value type objects are immutable, and reflect a consistent view of the underlying data at the point in time that the accessor which supplied them was invoked.

Value type objects are movable and efficiently copyable.

Properties of value type objects that are complex or expensive to copy are returned by reference. The lifetime of the returned reference is limited to the lifetime of the value type object.

Helper methods to convert value type objects to debug strings or to output them to debug streams are available. The human-readable representations provided by these methods are intended for logging and debugging purposes only, and should not be considered stable.

Classes

gpg::Achievement

A single data structure which allows you to access data about the status of a specific achievement.

gpg::Event

A single data structure containing data about the status of a specific event.

gpg::Leaderboard

A single data structure allowing you to access data about the status of a specific leaderboard, such as its name and validity.

gpg::MultiplayerInvitation

A data structure containing data about the current state of an invitation to a turn-based match.

gpg::MultiplayerParticipant

A data structure containing data about a participant in a multiplayer match.

gpg::ParticipantResults

A data structure containing data about the per-participant results for a TurnBasedMatch.

gpg::Player

A data structure that allows you to access data about a specific player.

gpg::PlayerLevel

A single data structure containing data about player's level.

gpg::PlayerStats

A data structure that allows you to access data about a specific player.

gpg::RealTimeRoom

A data structure containing the current state of a real-time multiplayer room.

gpg::RealTimeRoomConfig

A data structure containing the data needed to create a RealTimeRoom object.

gpg::Score

Single data structure which allows you to access data about a player's score.

gpg::ScorePage

A single data structure which allows you to access score data.

gpg::ScorePage::Entry

A class that creates an entry on a score page.

gpg::ScorePage::ScorePageToken

A data structure that is a nearly-opaque type representing a query for a ScorePage (or is empty).

gpg::ScoreSummary

A single data structure which allows you to access a summary of score information.

gpg::SnapshotMetadata

A single data structure that allows you to access data about the status of a specific snapshot metadata.

gpg::SnapshotMetadataChange

A single data structure which allows you to access data about the status of a specific snapshot.

gpg::SnapshotMetadataChange::CoverImage

A single data structure which allows you to access data about the status of a specific cover image.

gpg::TurnBasedMatch

A data structure containing data about the current state of a TurnBasedMatch.

gpg::TurnBasedMatchConfig

A data structure containing the data needed to create a TurnBasedMatch.