fix: MissionHandlerMatchThreeFinishLevel

This commit is contained in:
redleaf1221
2025-01-16 23:33:20 +08:00
parent 7d355cdaca
commit db5f79c75a
2 changed files with 29 additions and 1 deletions

View File

@@ -0,0 +1,25 @@
using EggLink.DanhengServer.Data.Config;
using EggLink.DanhengServer.Data.Excel;
using EggLink.DanhengServer.Enums.Mission;
using EggLink.DanhengServer.GameServer.Game.Player;
using EggLink.DanhengServer.Proto;
using EggLink.DanhengServer.Util;
namespace EggLink.DanhengServer.GameServer.Game.Mission.FinishType.Handler;
[MissionFinishType(MissionFinishTypeEnum.MatchThreeFinishLevel)]
public class MissionHandlerMatchThreeFinishLevel : MissionFinishTypeHandler
{
public override async ValueTask HandleMissionFinishType(PlayerInstance player, SubMissionInfo info, object? arg)
{
if(arg is MatchThreeLevelEndCsReq req)
if(req.LevelId == info.ParamInt1)
await player.MissionManager!.FinishSubMission(info.ID);
}
public override async ValueTask HandleQuestFinishType(PlayerInstance player, QuestDataExcel quest,
FinishWayExcel excel, object? arg)
{
await ValueTask.CompletedTask;
}
}

View File

@@ -1,4 +1,5 @@
using EggLink.DanhengServer.GameServer.Server.Packet.Send.MatchThreeModule;
using EggLink.DanhengServer.Enums.Mission;
using EggLink.DanhengServer.GameServer.Server.Packet.Send.MatchThreeModule;
using EggLink.DanhengServer.Kcp;
using EggLink.DanhengServer.Proto;
@@ -11,6 +12,8 @@ public class HandlerMatchThreeLevelEndCsReq : Handler
{
var req = MatchThreeLevelEndCsReq.Parser.ParseFrom(data);
await connection.Player!.MissionManager!.HandleFinishType(MissionFinishTypeEnum.MatchThreeFinishLevel, req);
await connection.SendPacket(new PacketMatchThreeLevelEndScRsp(req.LevelId, req.ModeId));
}
}