Class UnityXboxAchievementPlatformDefinition
Mirrors this project's achievements to an Xbox player's achievement list. Assign it to
UnityAchievementSettings.Platforms, and give every achievement the identifier it is
published under in Partner Center.
Implements
Namespace: Serenity.Achievements.Infrastructure.Platforms
Assembly: Serenity.UnityAchievements.Infrastructure.dll
Syntax
public class UnityXboxAchievementPlatformDefinition : UnityAchievementPlatformDefinition, IFoundationSettings
Remarks
Both identifiers also live in the MicrosoftGame.config the build ships, and every Xbox
Live call authenticates against those. They are recorded here so a licensee's gateway reads
them from the same asset the achievements themselves are configured on, and so tooling can
tell a project that ships on Xbox from one that does not without parsing the build config.
The gateway this builds is a template: see XboxAchievementGateway for the call sequence a licensee implements, and for how to register it.
Constructors
UnityXboxAchievementPlatformDefinition()
Declaration
public UnityXboxAchievementPlatformDefinition()
Fields
ServiceConfigurationId
Declaration
public string ServiceConfigurationId
Field Value
| Type | Description |
|---|---|
| string |
TitleId
Declaration
public string TitleId
Field Value
| Type | Description |
|---|---|
| string |
Properties
Kind
Which of the storefronts an achievement can declare an identifier for this asset is.
Declaration
public override AchievementPlatformKind Kind { get; }
Property Value
| Type | Description |
|---|---|
| AchievementPlatformKind |
Overrides
Remarks
Answered by the definition rather than by the gateway because the question is asked at
authoring time, when no gateway exists: it is what lets a project say "we ship on Steam and
PlayStation" from the assets it assigned, so
AchievementAuthoringRules can report an achievement that names no identifier for a
platform the project actually ships on. A custom definition answers with the shipped kind
whose identifier field it borrows.
Methods
CreateGateway(AchievementPlatformGatewayContext)
Builds the gateway that mirrors unlocks to this storefront.
Declaration
public override IAchievementPlatformGateway CreateGateway(AchievementPlatformGatewayContext context)
Parameters
| Type | Name | Description |
|---|---|---|
| AchievementPlatformGatewayContext | context | What the gateway is built from. Never |
Returns
| Type | Description |
|---|---|
| IAchievementPlatformGateway | The gateway, or |
Overrides
Remarks
The context carries the achievements this project declares as well as the log service, because a storefront names achievements by its own identifier: without the declared set a gateway can push an unlock outward but can never read the account back. A subtype that needs neither may ignore it.