refactor(battle-node): switch MsgEnvelope.Body to IMsgBody, migrate all sites

This commit is contained in:
gamer147
2026-06-01 10:40:09 -04:00
parent 118be92dc5
commit 5ee270eb16
11 changed files with 183 additions and 231 deletions

View File

@@ -3,7 +3,10 @@ namespace SVSim.BattleNode.Reliability;
/// <summary>
/// Body builders for the alive channel. The timer/loop that drives 5s emits lives on
/// BattleSession; this class is just the pure body-shape factory.
/// v1 always reports scs/ocs=ONLINE — real disconnect detection is deferred.
/// v1 always reports scs/ocs=ONLINE — real disconnect detection is deferred. The push
/// body itself is constructed inline in BattleSession.HandleAliveEventAsync using
/// AlivePushBody; only the emit body (sent by us TO the client on the alive channel,
/// currently unused in v1) remains here.
/// </summary>
public static class Gungnir
{
@@ -14,10 +17,4 @@ public static class Gungnir
["currentSeq"] = tracker.HighWaterMark,
// actionSeq omitted in v1 — no turn-transition flag yet.
};
public static Dictionary<string, object?> BuildAlivePushBody() => new()
{
["scs"] = "ONLINE",
["ocs"] = "ONLINE",
};
}