neon-sprawl/server/NeonSprawl.Server/Game/Gathering/GatherResult.cs

16 lines
791 B
C#

namespace NeonSprawl.Server.Game.Gathering;
/// <summary>
/// Server-internal gather resolution envelope (NEO-62). May promote to wire JSON when the client needs explicit
/// gather payloads; until then prototype verification uses inventory GET + interact response (NEO-63).
/// </summary>
/// <param name="GrantsApplied">Item grants on success; empty when denied.</param>
/// <param name="RemainingGathers">Authoritative capacity after success, or current capacity on depletion deny.</param>
/// <param name="XpGrantSummary">Skill XP applied on success; null when denied.</param>
public readonly record struct GatherResult(
bool Success,
string? ReasonCode,
IReadOnlyList<GatherGrantApplied> GrantsApplied,
int? RemainingGathers,
GatherXpGrantSummary? XpGrantSummary);