using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Sog; using ProtoCSStruct; namespace Friend { public static class FriendSettingSvc { public static void OnCliFriendSetSettingReq(uint remoteAppID, StructPacket packet) { PlayerInfoFriend player = FriendServerUtils.GetPlayerTableOp().GetPlayerInfo(packet.ObjectID); if (player == null) { TraceLog.Error("FriendSettingSvc.OnCliFriendSetSettingReq can not find player uid {0}", packet.ObjectID); return; } ref FriendCacheInfoStruct friendinfo = ref FriendOp.GetFriendInfoByUid(player.UserID); if (friendinfo.IsNull()) { TraceLog.Error("FriendSettingSvc.OnCliFriendSetSettingReq can not find player uid {0} friendInfo from cache" , player.UserID); return; } ref CSFriendSetSettingReq req = ref packet.GetMessage(); TraceLog.Debug("FriendSettingSvc.OnCliFriendSetSettingReq uid {0} AutoAccept {1} RefuseAll {2}" , packet.ObjectID, req.AutoAccept, req.RefuseAll); friendinfo.Self.AutoAccept = req.AutoAccept; friendinfo.Self.RefuseAll = req.RefuseAll; friendinfo.SetNeedSave(true); var res = new CSFriendSetSettingRes(); res.RefuseAll = req.RefuseAll; res.AutoAccept = req.AutoAccept; FriendServerUtils.GetPacketSender().SendToServerByID(player.WorldServerID, (int)CSGameMsgID.FriendSetSettingRes,ref res, player.UserID); } } }