Meta-progression: token economy, draft unlock picker, difficulty tiers
Adds a persistent meta-progression layer stored on GameState.meta
Adds a persistent meta-progression layer stored on GameState.meta and serialized via SaveSystem.SaveMeta / LoadMeta.
Currency:
- Single “unlock token” earned from runs. Died after clearing >=1 act = +1; full run = +2. Nightmare +1 bonus, Hell +2. First-time class+difficulty completion = +1 extra.
Unlocks:
- Individual card / gear / event unlocks tracked in string lists.
- Build paths derive from unlocks: 3+ unlocked cards on a path makes it available for specialization rewards.
- IsCardPoolEligible enforces BOTH individual unlock AND the 3-card path threshold so a lone unlocked poison card doesn’t trickle into reward pools.
UnlockPickerUI:
- System picks a random type with remaining items, drafts 3 random locked items, player picks 1 for 1 token. Skip / Close options.
Difficulty:
- Auto-unlock only: full run on Normal unlocks Nightmare, full run on Nightmare unlocks Hell. Achievement popup (DifficultyUnlockPopup) queues on main menu.
GameFlowManager pipes through RecordRunStarted / RecordRunEnded for both full-run and defeat paths. NodeMapManager’s run-complete path routed through the same helper for consistency.
Commit e4e74b6 by astafford8488.