Files
LightlessClient/LightlessSync/PlayerData/Pairs/PairDebugInfo.cs
2026-01-15 06:11:07 +01:00

71 lines
2.2 KiB
C#

namespace LightlessSync.PlayerData.Pairs;
public sealed record PairDebugInfo(
bool HasHandler,
bool HandlerInitialized,
bool HandlerVisible,
bool HandlerScheduledForDeletion,
DateTime? LastDataReceivedAt,
DateTime? LastApplyAttemptAt,
DateTime? LastSuccessfulApplyAt,
DateTime? InvisibleSinceUtc,
DateTime? VisibilityEvictionDueAtUtc,
double? VisibilityEvictionRemainingSeconds,
string? LastFailureReason,
IReadOnlyList<string> BlockingConditions,
bool IsApplying,
bool IsDownloading,
int PendingDownloadCount,
int ForbiddenDownloadCount,
bool PendingModReapply,
bool ModApplyDeferred,
int MissingCriticalMods,
int MissingNonCriticalMods,
int MissingForbiddenMods,
string? MinionAddressHex,
ushort? MinionObjectIndex,
DateTime? MinionResolvedAtUtc,
string? MinionResolveStage,
string? MinionResolveFailureReason,
bool MinionPendingRetry,
IReadOnlyList<string> MinionPendingRetryChanges,
bool MinionHasAppearanceData,
Guid OwnedPenumbraCollectionId,
bool NeedsCollectionRebuild)
{
public static PairDebugInfo Empty { get; } = new(
HasHandler: false,
HandlerInitialized: false,
HandlerVisible: false,
HandlerScheduledForDeletion: false,
LastDataReceivedAt: null,
LastApplyAttemptAt: null,
LastSuccessfulApplyAt: null,
InvisibleSinceUtc: null,
VisibilityEvictionDueAtUtc: null,
VisibilityEvictionRemainingSeconds: null,
LastFailureReason: null,
BlockingConditions: [],
IsApplying: false,
IsDownloading: false,
PendingDownloadCount: 0,
ForbiddenDownloadCount: 0,
PendingModReapply: false,
ModApplyDeferred: false,
MissingCriticalMods: 0,
MissingNonCriticalMods: 0,
MissingForbiddenMods: 0,
MinionAddressHex: null,
MinionObjectIndex: null,
MinionResolvedAtUtc: null,
MinionResolveStage: null,
MinionResolveFailureReason: null,
MinionPendingRetry: false,
MinionPendingRetryChanges: [],
MinionHasAppearanceData: false,
OwnedPenumbraCollectionId: Guid.Empty,
NeedsCollectionRebuild: false);
}