Files
caliverse_server/GameServer/MessageQueue/PacketHandler/NtfCraftHelpMQPacketHandler.cs
2025-05-01 07:20:41 +09:00

40 lines
1.4 KiB
C#

using Google.Protobuf;
using Google.Protobuf.WellKnownTypes;
using ServerCore;
using ServerBase;
using ServerCommon;
using ServerCommon.BusinessLogDomain;
using MetaAssets;
namespace GameServer.PacketHandler;
[PacketHandler("", typeof(ServerMessage.Types.GS2GS_NTF_CRAFT_HELP), typeof(NtfCraftHelpMQPacketHandler), typeof(RabbitMQ4Game))]
internal class NtfCraftHelpMQPacketHandler : PacketRecvHandler
{
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
{
var msg = recvMessage as ServerMessage;
ArgumentNullException.ThrowIfNull(msg);
var server_logic = GameServerApp.getServerLogic();
var player_manager = server_logic.getPlayerManager();
ArgumentNullException.ThrowIfNull(player_manager);
if (player_manager.tryGetUserByPrimaryKey(msg.NtfCraftHelp.OwnerGuid, out var player) == true)
{
var craft_action = player.getEntityAction<CraftAction>();
ArgumentNullException.ThrowIfNull(craft_action);
craft_action.setUpdateCraft(true);
CraftNotifyHelper.send_S2C_NTF_CRAFT_HELPED(player, msg.NtfCraftHelp.OwnerHelpedCount, msg.NtfCraftHelp.HelpUserName);
}
InstanceRoomManager.Instance.ExchangeCraft(msg.NtfCraftHelp.RoomId, msg.NtfCraftHelp.AnchorGuid, msg.NtfCraftHelp.CraftFinishTime);
return await Task.FromResult(new Result());
}
}