Class DefaultAchievementSettings
The configuration the module runs on when a project installed achievements but authored no settings asset. Every value comes from AchievementSettingsDefaults, so an unconfigured project behaves exactly like a freshly created settings asset.
Implements
Inherited Members
Namespace: Serenity.Achievements.Application.Services
Assembly: Serenity.Achievements.Application.dll
Syntax
public sealed class DefaultAchievementSettings : IAchievementSettings
Remarks
Exists so "no settings asset" is a configuration rather than a failure. Every collaborator requires settings, and the alternative — null checks down the whole graph — would make the documented defaults live in nine places instead of one.
Constructors
DefaultAchievementSettings()
Declaration
public DefaultAchievementSettings()
Properties
CaptureScreenshotOnUnlock
Whether an unlock captures a screenshot in the background.
Declaration
public bool CaptureScreenshotOnUnlock { get; }
Property Value
| Type | Description |
|---|---|
| bool |
ClearPlatformOnReset
Whether resetting achievements also wipes the player's platform account. Off by default: a local debug reset must not silently revoke trophies the player earned, and on most storefronts the call is irreversible.
Declaration
public bool ClearPlatformOnReset { get; }
Property Value
| Type | Description |
|---|---|
| bool |
IdentitySource
Where the player identity achievements are keyed by comes from. Achievements are account-level, so a project that signs a player in reads the same setting the Leaderboard does, from the shared kernel.
Declaration
public PlayerIdentitySource IdentitySource { get; }
Property Value
| Type | Description |
|---|---|
| PlayerIdentitySource |
PlatformCallTimeoutSeconds
How long a single platform gateway call may take before it is abandoned, in seconds. Zero or less disables the timeout. A storefront SDK that never returns would otherwise hold up boot, because the load path awaits it.
Declaration
public double PlatformCallTimeoutSeconds { get; }
Property Value
| Type | Description |
|---|---|
| double |
PlatformProgressPushStepPercent
How much normalized progress has to accumulate before the next platform progress push, as a percentage. Ten means "push at most once every ten percent". Zero or less pushes on every change.
Declaration
public int PlatformProgressPushStepPercent { get; }
Property Value
| Type | Description |
|---|---|
| int |
PlatformSyncRetrySeconds
Seconds between platform-sync retries while the storefront is unreachable. The runner doubles this on every failed attempt, up to eight times, and snaps back on success. Zero or less switches the retry off.
Declaration
public double PlatformSyncRetrySeconds { get; }
Property Value
| Type | Description |
|---|---|
| double |
PointsScoreKey
The Score metric that mirrors the total achievement points. Blank disables the mirror; unlock records stay the source of truth either way.
Declaration
public string PointsScoreKey { get; }
Property Value
| Type | Description |
|---|---|
| string |
ScreenshotMaxWidth
The width a captured screenshot is downscaled to before it is encoded, in pixels.
Declaration
public int ScreenshotMaxWidth { get; }
Property Value
| Type | Description |
|---|---|
| int |
ShowToastOnUnlock
Whether an unlock raises a toast notification.
Declaration
public bool ShowToastOnUnlock { get; }
Property Value
| Type | Description |
|---|---|
| bool |
SignalOnReconciledUnlock
Whether an unlock that was mirrored in from a platform account raises the same signal a fresh unlock does. Off by default, so reinstalling a game does not replay every toast.
Declaration
public bool SignalOnReconciledUnlock { get; }
Property Value
| Type | Description |
|---|---|
| bool |