mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-03 12:46:03 +08:00
34 lines
1.3 KiB
C#
34 lines
1.3 KiB
C#
using EggLink.DanhengServer.Database;
|
|
using EggLink.DanhengServer.Enums;
|
|
using EggLink.DanhengServer.Proto;
|
|
using EggLink.DanhengServer.Server.Packet.Send.Lineup;
|
|
|
|
namespace EggLink.DanhengServer.Server.Packet.Recv.Lineup
|
|
{
|
|
[Opcode(CmdIds.ChangeLineupLeaderCsReq)]
|
|
public class HandlerChangeLineupLeaderCsReq : Handler
|
|
{
|
|
public override void OnHandle(Connection connection, byte[] header, byte[] data)
|
|
{
|
|
var req = ChangeLineupLeaderCsReq.Parser.ParseFrom(data);
|
|
var player = connection.Player!;
|
|
if (player.LineupManager!.GetCurLineup() == null)
|
|
{
|
|
connection.SendPacket(new PacketChangeLineupLeaderScRsp());
|
|
return;
|
|
}
|
|
var lineup = player.LineupManager!.GetCurLineup()!;
|
|
if (lineup.BaseAvatars?.Count <= (int)req.Slot)
|
|
{
|
|
connection.SendPacket(new PacketChangeLineupLeaderScRsp());
|
|
return;
|
|
}
|
|
var leaderAvatarId = lineup.BaseAvatars![(int)req.Slot].BaseAvatarId;
|
|
lineup.LeaderAvatarId = leaderAvatarId;
|
|
player.MissionManager!.HandleFinishType(MissionFinishTypeEnum.TeamLeaderChange);
|
|
|
|
connection.SendPacket(new PacketChangeLineupLeaderScRsp(req.Slot));
|
|
}
|
|
}
|
|
}
|