46 lines
1.5 KiB
C#
46 lines
1.5 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.FriendDeleteNoti), typeof(NtfFriendDeleteMQPacketHandler), typeof(RabbitMQ4Game))]
|
|
public class NtfFriendDeleteMQPacketHandler : PacketRecvHandler
|
|
{
|
|
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
|
{
|
|
var msg = recvMessage as ServerMessage;
|
|
ArgumentNullException.ThrowIfNull(msg);
|
|
|
|
|
|
//유저 데이터에서 삭제 처리
|
|
var player_manager = GameServerApp.getServerLogic().getPlayerManager();
|
|
ArgumentNullException.ThrowIfNull(player_manager);
|
|
|
|
var result = new Result();
|
|
if (false == player_manager.tryGetUserByPrimaryKey(msg.FriendDeleteNoti.ReceiverGuid, out var player))
|
|
{
|
|
var err_msg = $"{msg.FriendDeleteNoti.ReceiverGuid} user not exist this Server";
|
|
result.setFail(ServerErrorCode.UserNotLogin, err_msg);
|
|
Log.getLogger().warn(result.toBasicString());
|
|
return result;
|
|
}
|
|
var friend_agent_action = player.getEntityAction<FriendAgentAction>();
|
|
//친구 메모리에서 삭제
|
|
friend_agent_action.deleteFriend(msg.FriendDeleteNoti.SenderGuid);
|
|
|
|
var handler = new NotifyFriendDeleteHandler();
|
|
handler.send_GS2C_NTF_FRIEND_DELETE(msg.FriendDeleteNoti);
|
|
|
|
return await Task.FromResult(result);
|
|
}
|
|
}
|