Attempt carries its LevelId so settlement decides First Clear vs Replay without trusting the caller. Outcome is terminal and refuses to change: one death costs one life, one completion banks once. Coins.Zero/Add driven out by the ledger rather than added up front. 21 tests. ADR-0005: Playthrough settles Attempts, has no LoseLife.
13 lines
346 B
C#
13 lines
346 B
C#
namespace Mr.BrickAdventures.Progression;
|
|
|
|
/// <summary>
|
|
/// How an Attempt finished, or that it has not finished yet. An Attempt reaches a terminal outcome
|
|
/// once and refuses to change afterwards — that refusal is what guarantees one death costs one life.
|
|
/// </summary>
|
|
public enum AttemptOutcome
|
|
{
|
|
InProgress,
|
|
Died,
|
|
Cleared,
|
|
}
|