|  | @@ -26,6 +26,18 @@ namespace ET
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          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;
 | 
	
	
		
			
				|  | @@ -40,6 +52,7 @@ namespace ET
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              FriendDataManager.Instance.AddApplyData(friendInfo);
 | 
	
		
			
				|  |  |              EventAgent.DispatchEvent(ConstMessage.FRIEND_APPLY_CHANGE);
 | 
	
		
			
				|  |  | +            EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              await ETTask.CompletedTask;
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -245,11 +258,14 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      RoleInfoDetailData roleInfoDetail = new RoleInfoDetailData();
 | 
	
		
			
				|  |  |                      roleInfoDetail.slogan = response.Signature;
 | 
	
		
			
				|  |  | -                    roleInfoDetail.customSuitData.pos = 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;
 | 
	
		
			
				|  |  | +                    if (response.CustomSuit != null)
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        roleInfoDetail.customSuitData.pos = 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;
 | 
	
		
			
				|  |  |                  }
 |