|  | @@ -1,25 +1,430 @@
 | 
	
		
			
				|  |  |  using System.Collections.Generic;
 | 
	
		
			
				|  |  | -using ET;
 | 
	
		
			
				|  |  |  using GFGGame;
 | 
	
		
			
				|  |  | +using ET;
 | 
	
		
			
				|  |  | +namespace ET
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    //推送其他玩家信息变化
 | 
	
		
			
				|  |  | +    public class NoticeRoleInfoChanged : AMHandler<S2C_NoticeFriendInfo>
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        protected override async ETTask Run(Session session, S2C_NoticeFriendInfo message)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            RoleInfoData roleInfo = new RoleInfoData();
 | 
	
		
			
				|  |  | +            roleInfo.roleId = message.RoleInfo.RoleId;
 | 
	
		
			
				|  |  | +            roleInfo.roleLv = message.RoleInfo.RoleLvl;
 | 
	
		
			
				|  |  | +            roleInfo.roleName = message.RoleInfo.RoleName;
 | 
	
		
			
				|  |  | +            roleInfo.offlineTimeSec = message.RoleInfo.OfflineTimeSec;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            FriendDataManager.Instance.ChangeFriendInfo(roleInfo);
 | 
	
		
			
				|  |  | +            EventAgent.DispatchEvent(ConstMessage.FRIEND_REFRESH);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            await ETTask.CompletedTask;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    //推送申请添加好友信息
 | 
	
		
			
				|  |  | +    public class NoticeApplyForFriend : AMHandler<S2C_NoticeApplyForFriend>
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        protected override async ETTask Run(Session session, S2C_NoticeApplyForFriend message)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            List<FriendInfoData> applyDatas = FriendDataManager.Instance.ApplyDatas;
 | 
	
		
			
				|  |  | +            bool isSame = false;
 | 
	
		
			
				|  |  | +            for (int i = applyDatas.Count - 1; i >= 0; i--)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (applyDatas[i].roleInfo.roleId == message.FriendInfo.RoleInfo.RoleId)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    isSame = true;
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (isSame) return;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            RoleInfoData roleInfo = new RoleInfoData();
 | 
	
		
			
				|  |  | +            roleInfo.roleId = message.FriendInfo.RoleInfo.RoleId;
 | 
	
		
			
				|  |  | +            roleInfo.roleName = message.FriendInfo.RoleInfo.RoleName;
 | 
	
		
			
				|  |  | +            roleInfo.roleLv = message.FriendInfo.RoleInfo.RoleLvl;
 | 
	
		
			
				|  |  | +            roleInfo.offlineTimeSec = message.FriendInfo.RoleInfo.OfflineTimeSec;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            FriendInfoData friendInfo = new FriendInfoData();
 | 
	
		
			
				|  |  | +            friendInfo.roleInfo = roleInfo;
 | 
	
		
			
				|  |  | +            friendInfo.type = message.FriendInfo.Type;
 | 
	
		
			
				|  |  | +            friendInfo.giveGiftState = message.FriendInfo.GiveGiftState;
 | 
	
		
			
				|  |  | +            friendInfo.takeGiftState = message.FriendInfo.TakeGiftState;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            FriendDataManager.Instance.AddApplyData(friendInfo);
 | 
	
		
			
				|  |  | +            EventAgent.DispatchEvent(ConstMessage.FRIEND_APPLY_CHANGE);
 | 
	
		
			
				|  |  | +            EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            await ETTask.CompletedTask;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    //推送新增好友
 | 
	
		
			
				|  |  | +    public class NoticeAddFriends : AMHandler<S2C_NoticeAddFriends>
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        protected override async ETTask Run(Session session, S2C_NoticeAddFriends message)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            for (int i = 0; i < message.FriendList.Count; i++)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                RoleInfoData roleInfo = new RoleInfoData();
 | 
	
		
			
				|  |  | +                roleInfo.roleId = message.FriendList[i].RoleInfo.RoleId;
 | 
	
		
			
				|  |  | +                roleInfo.roleName = message.FriendList[i].RoleInfo.RoleName;
 | 
	
		
			
				|  |  | +                roleInfo.roleLv = message.FriendList[i].RoleInfo.RoleLvl;
 | 
	
		
			
				|  |  | +                roleInfo.offlineTimeSec = message.FriendList[i].RoleInfo.OfflineTimeSec;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                FriendInfoData friendInfo = new FriendInfoData();
 | 
	
		
			
				|  |  | +                friendInfo.roleInfo = roleInfo;
 | 
	
		
			
				|  |  | +                friendInfo.type = message.FriendList[i].Type;
 | 
	
		
			
				|  |  | +                friendInfo.giveGiftState = message.FriendList[i].GiveGiftState;
 | 
	
		
			
				|  |  | +                friendInfo.takeGiftState = message.FriendList[i].TakeGiftState;
 | 
	
		
			
				|  |  | +                FriendDataManager.Instance.AddFriend(friendInfo);
 | 
	
		
			
				|  |  | +                FriendDataManager.Instance.RemoveApplyData(message.FriendList[i].RoleInfo.RoleId);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            EventAgent.DispatchEvent(ConstMessage.FRIEND_ADD);
 | 
	
		
			
				|  |  | +            EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 | 
	
		
			
				|  |  | +            await ETTask.CompletedTask;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    //推送删除好友
 | 
	
		
			
				|  |  | +    public class NoticeDeleteFriend : AMHandler<S2C_NoticeDeleteFriend>
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        protected override async ETTask Run(Session session, S2C_NoticeDeleteFriend message)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            FriendDataManager.Instance.RemoveFriend(message.FriendId);
 | 
	
		
			
				|  |  | +            EventAgent.DispatchEvent(ConstMessage.FRIEND_REMOVE);
 | 
	
		
			
				|  |  | +            await ETTask.CompletedTask;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    //推送领取赠送状态
 | 
	
		
			
				|  |  | +    public class NoticeTakeGiftStates : AMHandler<S2C_NoticeTakeGiftStates>
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        protected override async ETTask Run(Session session, S2C_NoticeTakeGiftStates message)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            FriendDataManager.Instance.ChangeTakeGiftStates(message.FriendId, message.TakeGiftState);
 | 
	
		
			
				|  |  | +            EventAgent.DispatchEvent(ConstMessage.FRIEND_REFRESH);
 | 
	
		
			
				|  |  | +            EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            await ETTask.CompletedTask;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  namespace GFGGame
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |      public static class FriendSProxy
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -        public static async ETTask<bool> ClothingDecompose(List<int> itemIds, List<int> itemNums)
 | 
	
		
			
				|  |  | +        //请求所有好友信息
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqAllFriendInfos()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_GetAllFriendInfos response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_GetAllFriendInfos)await MessageHelper.SendToServer(new C2S_GetAllFriendInfos());
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    for (int i = 0; i < response.FriendList.Count; i++)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        RoleInfoData roleInfo = new RoleInfoData();
 | 
	
		
			
				|  |  | +                        roleInfo.roleId = response.FriendList[i].RoleInfo.RoleId;
 | 
	
		
			
				|  |  | +                        roleInfo.roleName = response.FriendList[i].RoleInfo.RoleName;
 | 
	
		
			
				|  |  | +                        roleInfo.roleLv = response.FriendList[i].RoleInfo.RoleLvl;
 | 
	
		
			
				|  |  | +                        roleInfo.offlineTimeSec = response.FriendList[i].RoleInfo.OfflineTimeSec;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        FriendInfoData friendInfo = new FriendInfoData();
 | 
	
		
			
				|  |  | +                        friendInfo.roleInfo = roleInfo;
 | 
	
		
			
				|  |  | +                        friendInfo.type = response.FriendList[i].Type;
 | 
	
		
			
				|  |  | +                        friendInfo.giveGiftState = response.FriendList[i].GiveGiftState;
 | 
	
		
			
				|  |  | +                        friendInfo.takeGiftState = response.FriendList[i].TakeGiftState;
 | 
	
		
			
				|  |  | +                        if (response.FriendList[i].Type == FriendType.Good)
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            FriendDataManager.Instance.AddFriend(friendInfo);
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        else if (response.FriendList[i].Type == FriendType.Apply)
 | 
	
		
			
				|  |  | +                        {
 | 
	
		
			
				|  |  | +                            FriendDataManager.Instance.AddApplyData(friendInfo);
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        //赠送
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqGiveGiftToFriend(long friendId)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_GiveGiftToFriend response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_GiveGiftToFriend)await MessageHelper.SendToServer(new C2S_GiveGiftToFriend() { FriendId = friendId });
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    FriendDataManager.Instance.ChangeGiveGiftStates(response.FriendId, response.GiveGiftState);
 | 
	
		
			
				|  |  | +                    PromptController.Instance.ShowFloatTextPrompt(string.Format("赠送好友体力*{0}", GlobalCfgArray.globalCfg.onceGivePowerCount));
 | 
	
		
			
				|  |  | +                    EventAgent.DispatchEvent(ConstMessage.FRIEND_REFRESH);
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //一键赠送
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqGiveGiftToAllFriend()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_GiveGiftToAllFriends response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_GiveGiftToAllFriends)await MessageHelper.SendToServer(new C2S_GiveGiftToAllFriends());
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    for (int i = 0; i < response.FriendIds.Count; i++)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        FriendDataManager.Instance.ChangeGiveGiftStates(response.FriendIds[i], response.GiveGiftStates[i]);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (response.FriendIds.Count > 0)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        PromptController.Instance.ShowFloatTextPrompt(string.Format("送出{0}份体力", response.FriendIds.Count));
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    else
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        PromptController.Instance.ShowFloatTextPrompt("无好友可赠送体力");
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    EventAgent.DispatchEvent(ConstMessage.FRIEND_REFRESH);
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //领取并赠送赠送
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqTakeGiftFromFriend(long friendId)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_TakeGiftFromFriend response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_TakeGiftFromFriend)await MessageHelper.SendToServer(new C2S_TakeGiftFromFriend() { FriendId = friendId });
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    FriendDataManager.Instance.ChangeGiveTakeGiftStates(response.FriendId, response.GiveGiftState, response.TakeGiftState);
 | 
	
		
			
				|  |  | +                    PromptController.Instance.ShowFloatTextPrompt(string.Format("领取成功,获得体力*{0}", GlobalCfgArray.globalCfg.onceGivePowerCount));
 | 
	
		
			
				|  |  | +                    EventAgent.DispatchEvent(ConstMessage.FRIEND_REFRESH);
 | 
	
		
			
				|  |  | +                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //一键领取并赠送
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqTakeGiftFromAllFriend()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_TakeGiftFromAllFriend response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_TakeGiftFromAllFriend)await MessageHelper.SendToServer(new C2S_TakeGiftFromAllFriend());
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    for (int i = 0; i < response.FriendIds.Count; i++)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        FriendDataManager.Instance.ChangeGiveTakeGiftStates(response.FriendIds[i], response.GiveGiftStates[i], response.TakeGiftStates[i]);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (FriendDataManager.Instance.Count >= GlobalCfgArray.globalCfg.maxGetPowerCount)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        PromptController.Instance.ShowFloatTextPrompt("今日体力已全部领取");
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    else
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        PromptController.Instance.ShowFloatTextPrompt(string.Format("已领取{0}体力", response.FriendIds.Count * GlobalCfgArray.globalCfg.onceGivePowerCount));
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //请求其他玩家详细信息
 | 
	
		
			
				|  |  | +        public static async ETTask<RoleInfoDetailData> ReqOtherRoleDetailInfo(long friendId)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_GetOtherRoleDetailInfo response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_GetOtherRoleDetailInfo)await MessageHelper.SendToServer(new C2S_GetOtherRoleDetailInfo() { RoleId = friendId });
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    RoleInfoDetailData roleInfoDetail = new RoleInfoDetailData();
 | 
	
		
			
				|  |  | +                    roleInfoDetail.slogan = response.Signature;
 | 
	
		
			
				|  |  | +                    if (response.CustomSuit != null)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        roleInfoDetail.customSuitData = new CustomSuitData(response.CustomSuit.Pos);
 | 
	
		
			
				|  |  | +                        roleInfoDetail.customSuitData.bg = response.CustomSuit.BgId;
 | 
	
		
			
				|  |  | +                        roleInfoDetail.customSuitData.suitId = response.CustomSuit.SuitId;
 | 
	
		
			
				|  |  | +                        roleInfoDetail.customSuitData.equipDatas = response.CustomSuit.EquipIds;
 | 
	
		
			
				|  |  | +                        roleInfoDetail.customSuitData.pic = response.CustomSuit.Pic;
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    return roleInfoDetail;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return null;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //请求搜索其他玩家
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqSearchRole(string roleName)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_SearchRole response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_SearchRole)await MessageHelper.SendToServer(new C2S_SearchRole() { RoleName = roleName });
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    FriendDataManager.Instance.ClearSearchDatas();
 | 
	
		
			
				|  |  | +                    for (int i = 0; i < response.RoleList.Count; i++)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        RoleInfoData roleInfo = new RoleInfoData();
 | 
	
		
			
				|  |  | +                        roleInfo.roleId = response.RoleList[i].RoleId;
 | 
	
		
			
				|  |  | +                        roleInfo.roleName = response.RoleList[i].RoleName;
 | 
	
		
			
				|  |  | +                        roleInfo.roleLv = response.RoleList[i].RoleLvl;
 | 
	
		
			
				|  |  | +                        roleInfo.offlineTimeSec = response.RoleList[i].OfflineTimeSec;
 | 
	
		
			
				|  |  | +                        FriendDataManager.Instance.AddSearchData(roleInfo);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //请求推荐好友
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqRecommendFriends()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_GetRecommendFriends response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_GetRecommendFriends)await MessageHelper.SendToServer(new C2S_GetRecommendFriends());
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    FriendDataManager.Instance.ClearRecommendDatas();
 | 
	
		
			
				|  |  | +                    for (int i = 0; i < response.RoleList.Count; i++)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        RoleInfoData roleInfo = new RoleInfoData();
 | 
	
		
			
				|  |  | +                        roleInfo.roleId = response.RoleList[i].RoleId;
 | 
	
		
			
				|  |  | +                        roleInfo.roleName = response.RoleList[i].RoleName;
 | 
	
		
			
				|  |  | +                        roleInfo.roleLv = response.RoleList[i].RoleLvl;
 | 
	
		
			
				|  |  | +                        roleInfo.offlineTimeSec = response.RoleList[i].OfflineTimeSec;
 | 
	
		
			
				|  |  | +                        FriendDataManager.Instance.AddRecommendData(roleInfo);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //申请添加好友
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqApplyForFriend(long friendId)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            M2C_ClothingDecompose response = null;
 | 
	
		
			
				|  |  | -            response = (M2C_ClothingDecompose)await MessageHelper.SendToServer(new C2M_ClothingDecompose() { itemIds = itemIds, itemNums = itemNums });
 | 
	
		
			
				|  |  | +            S2C_RequestApplyForFriend response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_RequestApplyForFriend)await MessageHelper.SendToServer(new C2S_RequestApplyForFriend() { FriendId = friendId });
 | 
	
		
			
				|  |  |              if (response != null)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.bonusList));
 | 
	
		
			
				|  |  |                      return true;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              return false;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //同意添加好友
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqAcceptApplyForFriend(long friendId)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_AcceptApplyForFriend response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_AcceptApplyForFriend)await MessageHelper.SendToServer(new C2S_AcceptApplyForFriend() { FriendId = friendId });
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    // FriendDataManager.Instance.RemoveApplyData(roleId);
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //拒绝添加好友
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqRefuseApplyForFriend(long friendId)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_RefuseApplyForFriend response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_RefuseApplyForFriend)await MessageHelper.SendToServer(new C2S_RefuseApplyForFriend() { FriendId = friendId });
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    FriendDataManager.Instance.RemoveApplyData(friendId);
 | 
	
		
			
				|  |  | +                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 | 
	
		
			
				|  |  | +                    EventAgent.DispatchEvent(ConstMessage.FRIEND_APPLY_CHANGE);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //一键同意添加好友
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqAcceptAllApplyForFriend()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_AcceptAllApplyForFriend response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_AcceptAllApplyForFriend)await MessageHelper.SendToServer(new C2S_AcceptAllApplyForFriend());
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //一键拒绝添加好友
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqRefuseAllApplyForFriend()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_RefuseAllApplyForFriend response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_RefuseAllApplyForFriend)await MessageHelper.SendToServer(new C2S_RefuseAllApplyForFriend());
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    FriendDataManager.Instance.ClearApplyDatas();
 | 
	
		
			
				|  |  | +                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 | 
	
		
			
				|  |  | +                    EventAgent.DispatchEvent(ConstMessage.FRIEND_APPLY_CHANGE);
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //请求删除好友
 | 
	
		
			
				|  |  | +        public static async ETTask<bool> ReqDeleteFriend(long friendId)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            S2C_RequestDeleteFriend response = null;
 | 
	
		
			
				|  |  | +            response = (S2C_RequestDeleteFriend)await MessageHelper.SendToServer(new C2S_RequestDeleteFriend() { FriendId = friendId });
 | 
	
		
			
				|  |  | +            if (response != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (response.Error == ErrorCode.ERR_Success)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    FriendDataManager.Instance.RemoveFriend(response.FriendId);
 | 
	
		
			
				|  |  | +                    PromptController.Instance.ShowFloatTextPrompt("好友已删除");
 | 
	
		
			
				|  |  | +                    EventAgent.DispatchEvent(ConstMessage.FRIEND_REMOVE);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    return true;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |