초기커밋
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_FIND_NPC), typeof(FindUgqNpcPacketHandler), typeof(GameLoginListener))]
|
||||
public class FindUgqNpcPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var result = new Result();
|
||||
var player = session as Player;
|
||||
NullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
NullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
|
||||
var owner_guid = req_msg.Request.ReqUgqFindNpc.OwnerGuid;
|
||||
var ugq_npc_meta_guid = req_msg.Request.ReqUgqFindNpc.NpcGuid;
|
||||
|
||||
(result, var npc_attrib) = await UgcNpcDoc.findUgcNpc(owner_guid, ugq_npc_meta_guid);
|
||||
send_GS2C_ACK_UGQ_FIND_NPC(player, result, npc_attrib);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_FIND_NPC(Player player, Result result, UgcNpcAttrib? npcAttrib)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqFindNpc= new();
|
||||
if (npcAttrib is not null)
|
||||
{
|
||||
ack_packet.Response.AckUgqFindNpc.UgcNpc = UgqMetaHelper.copyToUgcNpc(npcAttrib);
|
||||
}
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_FIND_NPC Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_PAGED_UGQ_FROM_BOARD), typeof(PagedUgqsFromBoardPacketHandler), typeof(GameLoginListener))]
|
||||
public class PagedUgqsFromBoardPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var result = new Result();
|
||||
|
||||
var player = session as Player;
|
||||
NullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullException.ThrowIfNull(req_msg);
|
||||
var request = req_msg.Request.ReqPagedUgqFromBoard;
|
||||
|
||||
var search_category_type = request.SearchCategoryType;
|
||||
var sort_type = request.SortType;
|
||||
var page_number = request.PageNumber;
|
||||
|
||||
var ugq_action = player.getEntityAction<UgqInfoAction>();
|
||||
ArgumentNullException.ThrowIfNull(ugq_action);
|
||||
|
||||
(result, var ugq_board_search_result) = await ugq_action.getPagedUgqFromBoard(search_category_type, sort_type, page_number, searchText:"", searchType:UgqSearchType.Title);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_PAGED_UGQ_FROM_BOARD(player, result);
|
||||
return result;
|
||||
}
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_board_search_result, () => $"ugq_board_search_result is null !!!");
|
||||
|
||||
result = send_GS2C_ACK_PAGED_UGQ_FROM_BOARD(player, result, ugq_board_search_result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_PAGED_UGQ_FROM_BOARD(Player player, Result result, UgqBoardSearchResult? ugqBoardSearchResult = null)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckPagedUGQFromBoard = new();
|
||||
|
||||
if(null != ugqBoardSearchResult)
|
||||
{
|
||||
ack_packet.Response.AckPagedUGQFromBoard.UgqBoardSearchResult = ugqBoardSearchResult;
|
||||
}
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_C2GS_REQ_PAGED_UGQ_FROM_BOARD Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_SEARCHED_UGQ_FROM_BOARD), typeof(SearchedUgqsFromBoardPacketHandler), typeof(GameLoginListener))]
|
||||
public class SearchedUgqsFromBoardPacketHandler : PacketRecvHandler
|
||||
{
|
||||
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
|
||||
var player = session as Player;
|
||||
NullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
NullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqSearchedUgqFromBoard;
|
||||
var search_category_type = request.SearchCategoryType;
|
||||
var sort_type = request.SortType;
|
||||
var page_number = request.PageNumber;
|
||||
var search_text = request.SearchText;
|
||||
var text_search_type = request.SearchType;
|
||||
|
||||
var ugq_action = player.getEntityAction<UgqInfoAction>();
|
||||
|
||||
(var result, var ugqs) = await ugq_action.getPagedUgqFromBoard(search_category_type, sort_type, page_number, search_text, text_search_type);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_SEARCHED_UGQ_FROM_BOARD(player, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_SEARCHED_UGQ_FROM_BOARD(player, result, ugqs);
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_SEARCHED_UGQ_FROM_BOARD(Player player, Result result, UgqBoardSearchResult? ugqs = null)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckSearchedUGQFromBoard = new();
|
||||
|
||||
if (null != ugqs)
|
||||
{
|
||||
ack_packet.Response.AckSearchedUGQFromBoard.UgqBoardSearchResult = ugqs;
|
||||
}
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_SEARCHED_UGQ_FROM_BOARD Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_ABORT_BY_SELF), typeof(UgqAbortBySelfPacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqAbortBySelfPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqAbortBySelf;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(request.ComposedQuestId);
|
||||
|
||||
|
||||
var ugq_abort_action = player.getEntityAction<UgqAbortAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_abort_action, () => $"ugq_abort_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
var result = await ugq_abort_action.ugqAbortBySelf(quest_id, quest_revision);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_ABORT_BY_SELF(player, request.ComposedQuestId, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_UGQ_ABORT_BY_SELF(player, request.ComposedQuestId, result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_ABORT_BY_SELF(Player player, long composedQuestId, Result result)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqAbortBySelf = new();
|
||||
ack_packet.Response.AckUgqAbortBySelf.ComposedQuestId = composedQuestId;
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_ABORT Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_ABORT), typeof(UgqAbortPacketHandler), typeof(GameLoginListener))]
|
||||
|
||||
public class UgqAbortPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqAbort;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(request.ComposedQuestId);
|
||||
|
||||
var ugq_abort_action = player.getEntityAction<UgqAbortAction>();
|
||||
var result = await ugq_abort_action.ugqAbort(quest_id, quest_revision);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_ABORT(player, request.ComposedQuestId, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_UGQ_ABORT(player, request.ComposedQuestId, result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_ABORT(Player player, long composeQuestId, Result result)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqAbort = new();
|
||||
ack_packet.Response.AckUgqAbort.ComposedQuestId = composeQuestId;
|
||||
|
||||
//삭제된 퀘스트 정보 보내줘야된다. 여기다가 보내던가 Noti를 보내던가
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_ABORT Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_ASSIGN), typeof(UgqAssignPacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqAssignPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqAssign;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(request.ComposedQuestId);
|
||||
|
||||
var ugq_assign_action = player.getEntityAction<UgqAssignAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_assign_action, () => $"ugq_assign_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
(var result, var ack) = await ugq_assign_action.ugqAssign(quest_id, quest_revision);
|
||||
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_ASSIGN(player, result, ack);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_UGQ_ASSIGN(player, result, ack);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_ASSIGN(Player player, Result result, ClientToGameRes.Types.GS2C_ACK_UGQ_ASSIGN ack)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqAssign = ack;
|
||||
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_ASSIGN Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
|
||||
using static ClientToGameRes.Types;
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_DEREGISTER_BOOKMARK), typeof(UgqDeregisterBookmarkPacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqDeregisterBookmarkPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqDeregisterBookmark;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(request.ComposedQuestId);
|
||||
|
||||
var ugq_action = player.getEntityAction<UgqInfoAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_action, () => $"ugq_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
var result = await ugq_action.ugqDeregisterBookmark(quest_id);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_DEREGISTER_BOOKMARK(player, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_UGQ_DEREGISTER_BOOKMARK(player, result);
|
||||
|
||||
var invokers = new List<ILogInvoker>();
|
||||
invokers.Add(new UgqDeregisterBookmarkBusinessLog(quest_id, quest_revision));
|
||||
|
||||
var log_action = new LogActionEx(LogActionType.UgqDeregisterBookmark);
|
||||
BusinessLogger.collectLogs(log_action, player, invokers);
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_DEREGISTER_BOOKMARK(Player player, Result result)
|
||||
{
|
||||
var ack_packet = new ClientToGame();
|
||||
ack_packet.Response = new ClientToGameRes();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqDeregisterBookmark = new GS2C_ACK_UGQ_DEREGISTER_BOOKMARK();
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_DEREGISTER_BOOKMARK Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_DEREGISTER_LIKE), typeof(UgqDeregisterLikePacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqDeregisterLikePacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqDeregisterLike;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(request.ComposedQuestId);
|
||||
|
||||
var ugq_action = player.getEntityAction<UgqInfoAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_action, () => $"ugq_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
var result = await ugq_action.ugqDeregisterLike(quest_id, quest_revision);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_DEREGISTER_LIKE(player, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_UGQ_DEREGISTER_LIKE(player, result);
|
||||
|
||||
var invokers = new List<ILogInvoker>();
|
||||
invokers.Add(new UgqDeregisterLikeBusinessLog(quest_id, quest_revision));
|
||||
var log_action = new LogActionEx(LogActionType.UgqDeregisterLike);
|
||||
BusinessLogger.collectLogs(log_action, player, invokers);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_DEREGISTER_LIKE(Player player, Result result)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqDeregisterLike = new();
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_DEREGISTER_LIKE Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_DETAIL_FROM_BOARD), typeof(UgqDetailFromBoardPacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqDetailFromBoardPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqDetailFromBoard;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
var ugq_quest_id = request.ComposedQuestId;
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(ugq_quest_id);
|
||||
|
||||
var ugq_action = player.getEntityAction<UgqInfoAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_action, () => $"ugq_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
(var result, var ugq_board_detail) = await ugq_action.getUgqDetailFromBoard(quest_id, quest_revision);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_DETAIL_FROM_BOARD(player, result);
|
||||
return result;
|
||||
}
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(ugq_board_detail, () => $"ugq_board_detail is null !!! - {player.toBasicString()}");
|
||||
|
||||
result = send_GS2C_ACK_UGQ_DETAIL_FROM_BOARD(player, result, ugq_board_detail);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_DETAIL_FROM_BOARD(Player player, Result result, UgqBoardItemDetail? ugqBoardItemDetail = null)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqDetailFromBoard = new();
|
||||
ack_packet.Response.AckUgqDetailFromBoard.UgqBoardItemDetail = ugqBoardItemDetail;
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_C2GS_REQ_PAGED_UGQ_FROM_BOARD Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_FROM_NPC), typeof(UgqFromNpcPacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqFromNpcPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqFromNpc;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
var beacon_guid = request.NpcGuid;
|
||||
|
||||
var ugq_action = player.getEntityAction<UgqInfoAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_action, () => $"ugq_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
//ms5 스펙아웃
|
||||
(var result, _) = ugq_action.getUgqFromNpc(beacon_guid);
|
||||
|
||||
result = send_GS2C_ACK_UGQ_FROM_NPC(player, result);
|
||||
|
||||
return await Task.FromResult(result);
|
||||
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_FROM_NPC(Player player, Result result)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqFromNpc = new();
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_FROM_BEACON Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
|
||||
using static ClientToGameRes.Types;
|
||||
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_REASSIGN), typeof(UgqReassignPacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqReassignPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var game_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(game_msg, () => $"game_msg is null !!! - {player.toBasicString()}");
|
||||
var request = game_msg.Request.ReqUgqReAssign;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(request.ComposedQuestId);
|
||||
|
||||
var ugq_assign_action = player.getEntityAction<UgqAssignAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_assign_action, () => $"ugq_assign_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
(var result, var ack, var new_quest_revision) = await ugq_assign_action.ugqReAssign(quest_id, quest_revision);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_REASSIGN(player, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_UGQ_REASSIGN(player, result, ack);
|
||||
|
||||
await player.send_GS2C_NTF_UGQ(quest_id, new_quest_revision);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_REASSIGN(Player player, Result result, GS2C_ACK_UGQ_REASSIGN? ack = null)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqReAssign = new();
|
||||
|
||||
if (ack is not null)
|
||||
{
|
||||
ack_packet.Response.AckUgqReAssign = ack;
|
||||
}
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_REASSIGN Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_REGISTER_BOOKMARK), typeof(UgqRegisterBookmarkPacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqRegisterBookmarkPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqRegisterBookmark;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(request.ComposedQuestId);
|
||||
|
||||
var ugq_action = player.getEntityAction<UgqInfoAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_action, () => $"ugq_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
var result = await ugq_action.ugqRegisterBookmark(quest_id);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_REGISTER_BOOKMARK(player, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_UGQ_REGISTER_BOOKMARK(player, result);
|
||||
|
||||
var invokers = new List<ILogInvoker>();
|
||||
invokers.Add(new UgqRegisterBookmarkBusinessLog(quest_id, quest_revision));
|
||||
var log_action = new LogActionEx(LogActionType.UgqRegisterBookmark);
|
||||
BusinessLogger.collectLogs(log_action, player, invokers);
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_REGISTER_BOOKMARK(Player player, Result result)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqRegisterBookmark = new();
|
||||
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_REGISTER_BOOKMARK Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_REGISTER_LIKE), typeof(UgqRegisterLikePacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqRegisterLikePacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqRegisterLike;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
|
||||
var ugq_quest_id = request.ComposedQuestId;
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(ugq_quest_id);
|
||||
|
||||
|
||||
var ugq_action = player.getEntityAction<UgqInfoAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_action, () => $"ugq_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
var result = await ugq_action.ugqRegisterLike(quest_id, quest_revision);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_REGISTER_LIKE(player, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_UGQ_REGISTER_LIKE(player, result);
|
||||
|
||||
|
||||
var invokers = new List<ILogInvoker>();
|
||||
invokers.Add(new UgqRegisterLikeBusinessLog(quest_id, quest_revision));
|
||||
var log_action = new LogActionEx(LogActionType.UgqRegisterLike);
|
||||
BusinessLogger.collectLogs(log_action, player, invokers);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_REGISTER_LIKE(Player player, Result result)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqRegisterLike = new();
|
||||
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_REGISTER_LIKE Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_RELOAD_STATE), typeof(UgqReloadCurrentStatePacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqReloadCurrentStatePacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqReloadState;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
var result = new Result();
|
||||
|
||||
var ugq_info_action = player.getEntityAction<UgqInfoAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_info_action, () => $"ugq_info_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
(result, var states) = await ugq_info_action.reloadUgqCurrentState();
|
||||
if (result.isFail())
|
||||
{
|
||||
send_C2GS_REQ_UGQ_RELOAD_STATE(player, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_C2GS_REQ_UGQ_RELOAD_STATE(player, result, states);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Result send_C2GS_REQ_UGQ_RELOAD_STATE(Player player, Result result, List<UgqCurrentState>? states = null)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqReloadState = new();
|
||||
|
||||
if(null != states)
|
||||
{
|
||||
ack_packet.Response.AckUgqReloadState.UgqCurrentState.AddRange(states);
|
||||
}
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_C2GS_REQ_UGQ_RELOAD_STATE Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_REPORT), typeof(UgqReportPacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqReportPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqReport;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
var ugq_quest_id = request.ComposedQuestId;
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(ugq_quest_id);
|
||||
|
||||
var report_text = request.ReportText;
|
||||
|
||||
var ugq_action = player.getEntityAction<UgqInfoAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_action, () => $"ugq_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
var result = await ugq_action.getUgqReport(quest_id, quest_revision, report_text);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_REPORT(player, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_UGQ_REPORT(player, result);
|
||||
|
||||
var invokers = new List<ILogInvoker>();
|
||||
invokers.Add(new UgqReportBusinessLog(quest_id, quest_revision, report_text));
|
||||
var log_action = new LogActionEx(LogActionType.UgqRegisterLike);
|
||||
BusinessLogger.collectLogs(log_action, player, invokers);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_REPORT(Player player, Result result)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqReport = new();
|
||||
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_REPORT Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_SPOTLIGHT_FROM_BOARD), typeof(UgqSpotlightFromBoardPacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqSpotlightFromBoardPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
|
||||
var ugq_action = player.getEntityAction<UgqInfoAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_action, () => $"ugq_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
(var result, var ugq_board_search_result) = await ugq_action.getUgqSpotlightFromBoard();
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_FROM_BOARD(player, result, new());
|
||||
return result;
|
||||
}
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_board_search_result, () => $"ugq_board_search_result is null !!! - {player.toBasicString()}");
|
||||
|
||||
result = send_GS2C_ACK_UGQ_FROM_BOARD(player, result, ugq_board_search_result);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_FROM_BOARD(Player player, Result result, UgqBoardSportlightResult spotlighthResult)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqSpotlightFromBoard = new();
|
||||
ack_packet.Response.AckUgqSpotlightFromBoard.SpotlightResult = spotlighthResult;
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_PAGED_UGQ_FROM_BOARD Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_TEST_ABORT), typeof(UgqTestAbortPacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqTestAbortPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqTestAbort;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
var ugq_quest_id = request.ComposedQuestId;
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(ugq_quest_id);
|
||||
|
||||
var ugq_test_action = player.getEntityAction<UgqTestAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_test_action, () => $"ugq_test_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
var result = await ugq_test_action.ugqTestAbort(quest_id, quest_revision);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_TEST_ABORT(player, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_UGQ_TEST_ABORT(player, result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_TEST_ABORT(Player player, Result result)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqTestAbort = new();
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_ABORT Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
using static ClientToGameRes.Types;
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_TEST_ASSIGN), typeof(UgqTestAssignPacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqTestAssignPacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, Google.Protobuf.IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqTestAssign;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
var result = new Result();
|
||||
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(request.ComposedQuestId);
|
||||
|
||||
//var ugq_test_action = player.getEntityAction<UgqTestAction>();
|
||||
|
||||
//현재 미사용
|
||||
//(var result, var ack) = await ugq_test_action.ugqTestAssign(quest_id, quest_revision);
|
||||
|
||||
|
||||
//if (result.isFail())
|
||||
//{
|
||||
// send_GS2C_ACK_UGQ_TEST_ASSIGN(player, result, null);
|
||||
// return result;
|
||||
//}
|
||||
|
||||
//result = send_GS2C_ACK_UGQ_TEST_ASSIGN(player, result, ack);
|
||||
|
||||
return await Task.FromResult(result);
|
||||
}
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_TEST_ASSIGN(Player player, Result result, GS2C_ACK_UGQ_TEST_ASSIGN ack)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqTestAssign = ack;
|
||||
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_TEST_UGQ_ASSIGN Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
|
||||
namespace GameServer.PacketHandler;
|
||||
|
||||
|
||||
[PacketHandler(typeof(ClientToGameReq), typeof(ClientToGameReq.Types.C2GS_REQ_UGQ_TEST_COMPLETE), typeof(UgqTestCompletePacketHandler), typeof(GameLoginListener))]
|
||||
public class UgqTestCompletePacketHandler : PacketRecvHandler
|
||||
{
|
||||
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
||||
{
|
||||
var player = session as Player;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
||||
var req_msg = recvMessage as ClientToGame;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(req_msg, () => $"req_msg is null !!! - {player.toBasicString()}");
|
||||
var request = req_msg.Request.ReqUgqTestComplete;
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(request, () => $"request is null !!! - {player.toBasicString()}");
|
||||
|
||||
(var quest_id, var quest_revision) = QuestHelper.convertUgqQuestIdToQuestIdAndRevision(request.ComposedQuestId);
|
||||
|
||||
var ugq_test_action = player.getEntityAction<UgqTestAction>();
|
||||
NullReferenceCheckHelper.throwIfNull(ugq_test_action, () => $"ugq_test_action is null !!! - {player.toBasicString()}");
|
||||
|
||||
var result = await ugq_test_action.ugqTestComplete(quest_id, quest_revision);
|
||||
if (result.isFail())
|
||||
{
|
||||
send_GS2C_ACK_UGQ_TEST_COMPLETE(player, result, quest_id, quest_revision);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = send_GS2C_ACK_UGQ_TEST_COMPLETE(player, result, quest_id, quest_revision);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public static Result send_GS2C_ACK_UGQ_TEST_COMPLETE(Player player, Result result, UInt32 questId, UInt32 questRevision)
|
||||
{
|
||||
ClientToGame ack_packet = new();
|
||||
ack_packet.Response = new();
|
||||
ack_packet.Response.ErrorCode = result.ErrorCode;
|
||||
ack_packet.Response.AckUgqTestComplete = new();
|
||||
ack_packet.Response.AckUgqTestComplete.ComposedQuestId = QuestHelper.convertQuestIdAndRevisionToUgqQuestId(questId, questRevision);
|
||||
|
||||
var server_logic = GameServerApp.getServerLogic();
|
||||
if (false == server_logic.onSendPacket(player, ack_packet))
|
||||
{
|
||||
var err_msg = $"send_GS2C_ACK_UGQ_TEST_COMPLETE Fail !!! : owner:{player.toBasicString()}";
|
||||
result.setFail(ServerErrorCode.ProudNetException, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user