Init enter game

This commit is contained in:
Naruse
2025-06-14 11:15:32 +08:00
commit 6a03b39f07
568 changed files with 92872 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
using KianaBH.Data;
using KianaBH.GameServer.Server.Packet.Send.Mission;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Mission;
[Opcode(CmdIds.GetMissionDataReq)]
public class HandlerGetMissionDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
var player = connection.Player!;
var missionTable = GameData.MissionData;
var missionList = missionTable.Values.ToList();
const int chunkSize = 3000;
var totalChunks = (int)Math.Ceiling((double)missionList.Count / chunkSize);
var requestCount = player.GetMissionDataRequestCount;
while (requestCount < totalChunks - 1)
{
var selectedMissions = missionList
.Skip(requestCount * chunkSize)
.Take(chunkSize);
var missions = selectedMissions.Select(m => new Proto.Mission
{
MissionId = m.Id,
Status = MissionStatus.MissionClose,
Priority = m.Priority,
Progress = m.TotalProgress,
BeginTime = 0,
EndTime = 2073239999,
CycleId = 1,
}).ToList();
await connection.SendPacket(new PacketGetMissionDataRsp(missions,false));
requestCount++;
player.GetMissionDataRequestCount = requestCount;
}
// Last chunk
var lastMissions = missionList
.Skip(requestCount * chunkSize)
.Take(chunkSize);
var lastMissionList = lastMissions.Select(m => new Proto.Mission
{
MissionId = m.Id,
Status = MissionStatus.MissionClose,
Priority = m.Priority,
Progress = m.TotalProgress,
BeginTime = 0,
EndTime = 2073239999,
CycleId = 1,
}).ToList();
player.GetMissionDataRequestCount = requestCount + 1;
await connection.SendPacket(new PacketGetMissionDataRsp(lastMissionList,true));
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Mission;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Mission;
[Opcode(CmdIds.GetMissionGroupMainInfoReq)]
public class HandlerGetMissionGroupMainInfoReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetMissionGroupMainInfoRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Mission;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Mission;
[Opcode(CmdIds.GetMissionThemeDataReq)]
public class HandlerGetMissionThemeDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetMissionThemeDataRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Mission;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Mission;
[Opcode(CmdIds.GetRecommendMissionPanelListReq)]
public class HandlerGetRecommendMissionPanelListReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetRecommendMissionPanelListRsp());
}
}