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

17 lines
755 B
C#

namespace NeonSprawl.Server.Game.Rewards;
/// <summary>
/// Server-internal quest completion reward delivery envelope (NEO-127).
/// Quest-state wiring promotes via NEO-128; HTTP DTOs via NEO-129.
/// </summary>
/// <param name="GrantedItems">Item grants on success; empty when denied.</param>
/// <param name="GrantedSkillXp">Skill XP grants on success; empty when denied.</param>
/// <param name="DeliveryEvent">Delivery payload on success; null when denied.</param>
public readonly record struct RewardDeliveryResult(
bool Success,
string? ReasonCode,
IReadOnlyList<RewardItemGrantApplied> GrantedItems,
IReadOnlyList<RewardSkillXpGrantApplied> GrantedSkillXp,
RewardDeliveryEvent? DeliveryEvent,
DateTimeOffset? DeliveredAt);