27 lines
774 B
C#
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;
|
|
}
|