Namespace Serenity.Achievements.Domain.ValueObjects
Classes
AchievementReconciliationPlan
The two-way difference between what the local store knows and what a platform account reports: which unlocks have to be written locally, and which have to be pushed outward.
Structs
AchievementId
Identifies a single achievement within the achievement system. Immutable value object that supports equality comparison and hashing.
AchievementPlatformMapping
The per-platform identifiers an achievement is mirrored under. Each platform names its achievements independently of Serenity's own AchievementId, so a definition carries one identifier per platform it ships on. A blank identifier means "not mirrored to that platform".
AchievementProgress
How far a player has advanced towards a progressive achievement, plus the opaque condition state the evaluator needs to resume counting across sessions. Immutable value object.
AchievementUnlockRecord
The stored proof that a player unlocked an achievement: when it happened, which screenshot was captured for it, how many points it awarded, and whether the unlock has reached the platform account yet. Immutable value object; every mutation produces a copy through one of the With helpers.