Namespace Serenity.Achievements.Application.Interfaces.Services
Interfaces
IAchievementConditionSource
Application port that answers "which of the declared achievements carry an authored unlock condition". The composition root reads it once at install time and hands the result to Services.AchievementEvaluator.
IAchievementCustomConditionResolver
Turns the type name a CustomCondition names into the project-supplied rule it
stands for.
IAchievementDefinitionSource
Application port that answers "which achievements does this project declare". The composition root reads it once at install time and hands the result to Services.AchievementDefinitionRegistryBuilder.
IAchievementPlayerIdentityProvider
Application port that answers "whose achievements are these". Achievements are keyed at the account level, not per save slot, so the identity has to come from outside the save system.
IAchievementScreenshotCapturer
Application port for grabbing the frame that was on screen when an achievement unlocked.
IAchievementService
Service interface for unlocking achievements, tracking their progress, and reading the player's achievement state.