Files
SVSimServer/SVSim.Database/Services/Replay/BattleContext.cs
gamer147 869f9ce13d feat(replay): add BattleContextStore for start->finish handoff
Bridges the start-time -> finish-time gap. /finish carries neither
battle_id nor opponent identity; this store holds both for the finish
handler to compose a ViewerBattleHistory row.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-10 07:38:37 -04:00

27 lines
845 B
C#

namespace SVSim.Database.Services.Replay;
/// <summary>
/// Per-viewer battle context captured at start time (do_matching/start) and consumed
/// at finish time. Lives in <see cref="IBattleContextStore"/> for the duration of a
/// single battle. See docs/superpowers/specs/2026-06-10-replay-info-design.md.
/// </summary>
public sealed record BattleContext(
long BattleId,
int BattleType,
int DeckFormat,
int TwoPickType,
int SelfClassId,
int SelfSubClassId,
int SelfCharaId,
string SelfRotationId,
int OpponentViewerId,
string OpponentName,
int OpponentClassId,
int OpponentSubClassId,
int OpponentCharaId,
string OpponentCountryCode,
long OpponentEmblemId,
long OpponentDegreeId,
string OpponentRotationId,
DateTime BattleStartTime);