Namespace Serenity.Achievements.Application.Conditions
Classes
AchievementCondition
One node of an authored unlock rule. A condition answers whether the rule it represents is satisfied right now, describes how far along it is, and — when it counts something across sessions — serializes that count into a string the achievement's progress row carries.
AchievementConditionPhrasing
Formatting knowledge shared by more than one condition node's Describe(bool) override: how a quantity prints, how an optional name reads when nothing was authored, how a signal type's short name is derived, how a composite brackets itself once nested, and how a composite joins its children into one line.
AchievementConditionStateCodec
Packs a node's own counter and its children's captured states into the single string an achievement's progress row carries, unpacks it again, and reads the numbers back out of it.
AchievementConditionSummary
Turns an authored condition tree into the one line that says what it actually demands, such
as "Signal EnemyKilled ×100 AND Score kills ≥ 10".
AchievementConditionTree
The structural view of a condition tree: what a node's children are, and whether the graph hanging off a node is actually a tree at all.
Structs
AchievementConditionProgress
How far along a condition is: the numerator and denominator to show, plus the 0..1 fraction they represent. Immutable value object.
AchievementEvaluationContext
Everything a condition tree is allowed to read during one evaluation: the score metrics, the
global progress, how much time passed, the signal that caused the evaluation, and the
resolver a CustomCondition reaches its project-supplied rule through.
Interfaces
IAchievementCondition
The code escape hatch of the condition model: a rule a project writes itself, reached from
an authored tree through a CustomCondition node.