using Google.Protobuf; using Google.Protobuf.WellKnownTypes; using ServerCore; using ServerBase; using ServerCommon; using ServerCommon.BusinessLogDomain; using MetaAssets; namespace GameServer; public class NotifyFriendLogoutHandler { public void send_GS2C_NTF_FRIEND_LOGOUT(ServerMessage.Types.LogoutNotiToFriend noti) { var player_manager = GameServerApp.getServerLogic().getPlayerManager(); ArgumentNullException.ThrowIfNull(player_manager); if (false == player_manager.tryGetUserByPrimaryKey(noti.BaseInfo.ReceiverGuid, out var player)) { Log.getLogger().warn($"{noti.BaseInfo.SenderGuid} user not exist this Server"); return; } ClientToGame clientToGame = new(); clientToGame.Message = new(); clientToGame.Message.FriendLogoutNoti = new(); clientToGame.Message.FriendLogoutNoti.BaseInfo = new(); clientToGame.Message.FriendLogoutNoti.BaseInfo.SenderId = noti.BaseInfo.SenderId; clientToGame.Message.FriendLogoutNoti.BaseInfo.SenderGuid = noti.BaseInfo.SenderGuid; clientToGame.Message.FriendLogoutNoti.BaseInfo.SenderNickName = noti.BaseInfo.SenderNickName; clientToGame.Message.FriendLogoutNoti.BaseInfo.ReceiverId = noti.BaseInfo.ReceiverId; GameServerApp.getServerLogic().onSendPacket(player, clientToGame); } }