Files
PemukulPaku/GameServer/Handlers/Ultraendless/UltraEndlessGetMainDataReqHandler.cs
2023-06-05 13:18:07 +07:00

44 lines
1.8 KiB
C#

using Common;
using Common.Resources.Proto;
using Common.Utils.ExcelReader;
namespace PemukulPaku.GameServer.Handlers
{
[PacketCmdId(CmdId.UltraEndlessGetMainDataReq)]
internal class UltraEndlessGetMainDataReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
UltraEndlessGetMainDataRsp Rsp = new()
{
retcode = UltraEndlessGetMainDataRsp.Retcode.Succ,
ScheduleId = 1028,
GroupLevel = 9,
TopGroupLevel = 9,
CupNum = 2000,
MainData = new()
{
ScheduleId = 1028,
EffectTime = 0,
BeginTime = 0,
EndTime = (uint)Global.GetUnixInSeconds() + 3600 * 24 * 7,
CloseTime = (uint)Global.GetUnixInSeconds() + 3600 * 24 * 7 + 1200,
CurSeasonId = 1
},
DynamicHardLevel = 430,
LastSettleInfo = new() { }
};
Rsp.MainData.SiteLists.AddRange(Common.Utils.ExcelReader.UltraEndlessSite.GetInstance().All.Where(x => x.SiteId > 1019).Select(siteData =>
{
List<UltraEndlessFloorExcel> floorDatas = Common.Utils.ExcelReader.UltraEndlessFloor.GetInstance().GetFloorDatasFromStageId(siteData.StageId);
var siteInfo = new Common.Resources.Proto.UltraEndlessSite() { SiteId = (uint)siteData.SiteId };
siteInfo.FloorLists.AddRange(floorDatas.Select(x => new Common.Resources.Proto.UltraEndlessFloor() { Floor = (uint)x.FloorId, MaxScore = 0 }));
return siteInfo;
}));
session.Send(Packet.FromProto(Rsp, CmdId.UltraEndlessGetMainDataRsp));
}
}
}