neon-sprawl/server/NeonSprawl.Server/Game/Contracts/ContractInstanceState.cs

27 lines
774 B
C#

namespace NeonSprawl.Server.Game.Contracts;
/// <summary>Immutable per-player contract instance snapshot (NEO-146).</summary>
public sealed class ContractInstanceState(
string contractInstanceId,
string templateId,
string playerId,
ContractInstanceStatus status,
string seedBucket,
DateTimeOffset issuedAt,
DateTimeOffset? completedAt)
{
public string ContractInstanceId { get; } = contractInstanceId;
public string TemplateId { get; } = templateId;
public string PlayerId { get; } = playerId;
public ContractInstanceStatus Status { get; } = status;
public string SeedBucket { get; } = seedBucket;
public DateTimeOffset IssuedAt { get; } = issuedAt;
public DateTimeOffset? CompletedAt { get; } = completedAt;
}