neon-sprawl/server/NeonSprawl.Server/Game/Npc/NpcRuntimeStateSnapshot.cs

18 lines
1.0 KiB
C#

namespace NeonSprawl.Server.Game.Npc;
/// <summary>Active telegraph row while an NPC is in <see cref="NpcBehaviorState.TelegraphWindup"/> (NEO-93).</summary>
/// <param name="TelegraphId">Stable id for NEO-94 wire projection.</param>
/// <param name="WindupStartedUtc">UTC instant when windup phase began.</param>
public readonly record struct ActiveTelegraphSnapshot(string TelegraphId, DateTimeOffset WindupStartedUtc);
/// <summary>Per-NPC runtime behavior state snapshot (NEO-93).</summary>
/// <param name="NpcInstanceId">Lowercase prototype NPC instance id.</param>
/// <param name="BehaviorState">Current behavior state.</param>
/// <param name="PhaseStartedUtc">UTC instant when the current phase began.</param>
/// <param name="ActiveTelegraph">Non-null only during <see cref="NpcBehaviorState.TelegraphWindup"/>.</param>
public readonly record struct NpcRuntimeStateSnapshot(
string NpcInstanceId,
NpcBehaviorState BehaviorState,
DateTimeOffset PhaseStartedUtc,
ActiveTelegraphSnapshot? ActiveTelegraph);