Files
DanhengServer-OpenSource/GameServer/Server/Packet/Recv/RogueCommon/HandlerHandleRogueCommonPendingActionCsReq.cs
2025-08-29 19:41:19 +08:00

53 lines
2.6 KiB
C#

using EggLink.DanhengServer.GameServer.Game.RogueMagic;
using EggLink.DanhengServer.GameServer.Game.RogueTourn;
using EggLink.DanhengServer.Kcp;
using EggLink.DanhengServer.Proto;
namespace EggLink.DanhengServer.GameServer.Server.Packet.Recv.RogueCommon;
[Opcode(CmdIds.HandleRogueCommonPendingActionCsReq)]
public class HandlerHandleRogueCommonPendingActionCsReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
var req = HandleRogueCommonPendingActionCsReq.Parser.ParseFrom(data);
var rogue = connection.Player!.RogueManager?.GetRogueInstance();
if (rogue == null) return;
if (req.BuffSelectResult != null)
await rogue.HandleBuffSelect((int)req.BuffSelectResult.BuffSelectId, (int)req.QueueLocation);
if (req.BuffReforgeSelectResult != null)
await rogue.HandleBuffReforgeSelect((int)req.BuffReforgeSelectResult.BuffSelectId, (int)req.QueueLocation);
if (req.BuffRerollSelectResult != null) await rogue.HandleRerollBuff((int)req.QueueLocation);
if (req.BonusSelectResult != null)
await rogue.HandleBonusSelect((int)req.BonusSelectResult.BonusId, (int)req.QueueLocation);
if (req.MiracleSelectResult != null)
await rogue.HandleMiracleSelect(req.MiracleSelectResult.MiracleSelectId, (int)req.QueueLocation);
if (req.RogueTournFormulaResult != null && rogue is RogueTournInstance tournInstance)
await tournInstance.HandleFormulaSelect((int)req.RogueTournFormulaResult.TournFormulaId,
(int)req.QueueLocation);
if (req.TitanBlessSelectTypeResult != null && rogue is RogueTournInstance tournInstance2)
await tournInstance2.HandleTitanBlessSelect((int)req.TitanBlessSelectTypeResult.SelectTitanBlessId,
(int)req.QueueLocation);
if (req.TitanBlessSelectEnhanceResult != null && rogue is RogueTournInstance tournInstance3)
await tournInstance3.HandleTitanBlessSelect((int)req.TitanBlessSelectEnhanceResult.SelectTitanBlessId,
(int)req.QueueLocation);
if (req.TitanBlessRerollResult != null && rogue is RogueTournInstance tournInstance4)
await tournInstance4.HandleRerollTitanBless((int)req.QueueLocation);
if (req.MagicUnitSelectResult != null && rogue is RogueMagicInstance magic)
await magic.HandleMagicUnitSelect(req.MagicUnitSelectResult.SelectMagicUnit, (int)req.QueueLocation);
if (req.ScepterSelectResult != null && rogue is RogueMagicInstance magic2)
await magic2.HandleScepterSelect(req.ScepterSelectResult.SelectScepter, (int)req.QueueLocation);
}
}