19 lines
847 B
C#
19 lines
847 B
C#
namespace NeonSprawl.Server.Game.Gathering;
|
|
|
|
/// <summary>Result of <see cref="ResourceNodeInstanceOperations.TryCommitSuccessfulGatherDecrement"/> (NEO-61).</summary>
|
|
public enum ResourceNodeInstanceMutationKind
|
|
{
|
|
/// <summary>Validation or depletion deny — capacity unchanged when already depleted.</summary>
|
|
Denied,
|
|
|
|
/// <summary>Decrement applied and persisted.</summary>
|
|
Applied,
|
|
}
|
|
|
|
/// <param name="ReasonCode">Populated when <see cref="Kind"/> is <see cref="ResourceNodeInstanceMutationKind.Denied"/>.</param>
|
|
/// <param name="Snapshot">Authoritative snapshot after apply, or current snapshot on depletion deny; null for unknown node.</param>
|
|
public readonly record struct ResourceNodeInstanceMutationOutcome(
|
|
ResourceNodeInstanceMutationKind Kind,
|
|
string? ReasonCode,
|
|
ResourceNodeInstanceSnapshot? Snapshot);
|