feat(progression): Profile aggregate (slice 4)
best times only improve; achievement unlock announces on the transition only, so popup/Steam subscribers cannot double-fire; statistics are increase-only (IncrementStat took any int). RelockAchievement is console-only and documented as not reaching Steam - a Steam achievement cannot be un-earned, so the disagreement is permanent and deliberate. refactor: extract EventLog, composed by both aggregates now that the duplication actually exists. 34 tests.
This commit is contained in:
@@ -9,3 +9,9 @@ public abstract record ProgressionEvent;
|
||||
|
||||
/// <summary>Raised when a Playthrough loses its last life.</summary>
|
||||
public sealed record RunEnded : ProgressionEvent;
|
||||
|
||||
/// <summary>
|
||||
/// Raised the first time an Achievement is unlocked, and only then — so a subscriber that shows a
|
||||
/// popup or pushes to Steam cannot fire twice however often it is told.
|
||||
/// </summary>
|
||||
public sealed record AchievementUnlocked(AchievementId Achievement) : ProgressionEvent;
|
||||
|
||||
Reference in New Issue
Block a user