feat(bp): AddPointsAsync plumbing + level-cross auto-grant + weekly cap
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,16 @@ namespace SVSim.EmulatedEntrypoint.Services;
|
||||
|
||||
public interface IBattlePassService
|
||||
{
|
||||
/// <summary>
|
||||
/// Plumbing for future point-source endpoints (mission/retire, battle finish handlers).
|
||||
/// Bumps gauge by min(amount, weekly headroom), auto-grants rewards on every level crossed
|
||||
/// (premium track only when IsPremium), writes claim rows + currency/collection mutations
|
||||
/// via RewardGrantService. Returns delta info for caller to embed in
|
||||
/// battle_pass_gauge_info on its response. No live caller in v1; tested directly.
|
||||
/// </summary>
|
||||
Task<BattlePassPointGrant> AddPointsAsync(
|
||||
long viewerId, BattlePassPointSource source, int amount, CancellationToken ct);
|
||||
|
||||
/// <summary>Global level curve as wire-string dictionary; null if no levels seeded.</summary>
|
||||
Task<IReadOnlyDictionary<string, BattlePassLevel>?> GetLevelCurveAsync(CancellationToken ct);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user