40 lines
1.4 KiB
C#
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());
|
|
}
|
|
}
|