using SVSim.BattleNode.Lifecycle; using SVSim.BattleNode.Protocol; namespace SVSim.BattleNode.Sessions.Dispatch.Handlers; internal sealed class InitNetworkHandler : IFrameHandler { public IReadOnlyList Handle(FrameDispatchContext ctx) { if (ctx.SenderPhase != BattleSessionPhase.AwaitingInitNetwork) return Array.Empty(); var routes = new List { new(ctx.From, BattleFrames.BuildAck(NetworkBattleUri.InitNetwork), true), }; ctx.SenderPhase = BattleSessionPhase.AwaitingInitBattle; return routes; } }