neon-sprawl/server/NeonSprawl.Server/Game/Rewards/RewardDeliveryEvent.cs

14 lines
499 B
C#

namespace NeonSprawl.Server.Game.Rewards;
/// <summary>
/// Idempotent quest completion reward delivery record (NEO-126).
/// Persisted via <see cref="IRewardDeliveryStore"/> after router apply succeeds (NEO-127).
/// </summary>
public readonly record struct RewardDeliveryEvent(
string PlayerId,
string QuestId,
DateTimeOffset DeliveredAt,
IReadOnlyList<RewardItemGrantApplied> GrantedItems,
IReadOnlyList<RewardSkillXpGrantApplied> GrantedSkillXp,
string IdempotencyKey);