using SVSim.BattleNode.Protocol; namespace SVSim.BattleNode.Sessions.Dispatch.Handlers; internal sealed class RetireKillHandler : IFrameHandler { public IReadOnlyList Handle(FrameDispatchContext ctx) { ctx.State.SessionPhase = BattleSessionPhase.Terminal; return new[] { new DispatchRoute(ctx.From, BattleFrames.BuildBattleFinish(BattleResult.RetireLose), true), new DispatchRoute(ctx.Other, BattleFrames.BuildBattleFinish(BattleResult.RetireWin), true), }; } }