|  |  | 
 |  |  | import PlayerSocial
 | 
 |  |  | import copy
 | 
 |  |  | import PlayerViewCache
 | 
 |  |  | import PlayerTeam
 | 
 |  |  | 
 | 
 |  |  | #---------------------------------------------------------------------
 | 
 |  |  | 
 | 
 |  |  | 
 |  |  |     
 | 
 |  |  |     return PyDataManager.GetFriendManager().AddFriends(playerID)
 | 
 |  |  | 
 | 
 |  |  | def IsFriend(playerID, tagPlayerID):
 | 
 |  |  |     ## 判断双方是否好友
 | 
 |  |  |     curFriends = PyDataManager.GetFriendManager().GetFriends(playerID)
 | 
 |  |  |     if not curFriends:
 | 
 |  |  |         return False
 | 
 |  |  |     return curFriends.Find(tagPlayerID) != None
 | 
 |  |  | 
 | 
 |  |  | #---------------------------------------------------------------------
 | 
 |  |  | ##好友检查
 | 
 |  |  | # @param curPlayer 申请好友的玩家
 | 
 |  |  | 
 |  |  |     tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(friendID)
 | 
 |  |  |     if tagPlayer != None:
 | 
 |  |  |         PlayerControl.NotifyCode(tagPlayer, 'Friend_DeleteFriend2', [curPlayer.GetName()])
 | 
 |  |  |     PlayerTeam.OnTeamMemFriendChange(curPlayer, friendID, False)
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | 
 |  |  |         GameWorld.Log("JoinFriendAnswer -> 封包异常 ->玩家没有这个请求", playerID)
 | 
 |  |  |         return
 | 
 |  |  |     
 | 
 |  |  |     if not clientData.Answer and srcPlayer:
 | 
 |  |  |         #XW_SJ_RefuseApply  XXX拒绝把你加为好友
 | 
 |  |  |         PlayerControl.NotifyCode(srcPlayer, 'Friend_RejectFriend', [curPlayer.GetName()])
 | 
 |  |  |     if not clientData.Answer:  | 
 |  |  |         if srcPlayer:
 | 
 |  |  |             #XW_SJ_RefuseApply  XXX拒绝把你加为好友
 | 
 |  |  |             PlayerControl.NotifyCode(srcPlayer, 'Friend_RejectFriend', [curPlayer.GetName()])
 | 
 |  |  |         return
 | 
 |  |  |     
 | 
 |  |  |     # 黑名单检查
 | 
 |  |  | 
 |  |  |         PlayerControl.NotifyCode(curPlayer, 'Friend_MakeFriend', [cacheDict['Name']])  
 | 
 |  |  |         # 记录等对方上线通知地图,任务等会用到触发逻辑,通用记录次数即可, MapServer_SyncFriendInfo为具体的好友数量,根据策划需求制作
 | 
 |  |  |         pass
 | 
 |  |  |     PlayerTeam.OnTeamMemFriendChange(curPlayer, srcPlayerID, True)
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | 
 |