18 lines
1.0 KiB
C#
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);
|