|  |  | 
 |  |  | import copy
 | 
 |  |  | import PlayerViewCache
 | 
 |  |  | import PlayerTeam
 | 
 |  |  | import cPickle
 | 
 |  |  | 
 | 
 |  |  | #---------------------------------------------------------------------
 | 
 |  |  | 
 | 
 |  |  | 
 |  |  |             return
 | 
 |  |  |     
 | 
 |  |  |     if not tagPlayer:
 | 
 |  |  |         curCache = PlayerViewCache.ViewCacheMgr.FindCache(curTagPlayerID)
 | 
 |  |  |         curCache = PlayerViewCache.FindViewCache(curTagPlayerID)
 | 
 |  |  |         if not curCache:
 | 
 |  |  |             #玩家的数据没有缓存过
 | 
 |  |  |             PlayerControl.NotifyCode(curPlayer, 'Friend_OffLine')
 | 
 |  |  |             return
 | 
 |  |  |         cacheDict = cPickle.loads(curCache.GetPropData())
 | 
 |  |  |         tagLV = cacheDict["LV"]
 | 
 |  |  |         tagLV = curCache.LV
 | 
 |  |  |     else:
 | 
 |  |  |         tagLV = tagPlayer.GetLV()
 | 
 |  |  |     
 | 
 |  |  | 
 |  |  |     srcPlayer = playerManager.FindPlayerByID(srcPlayerID)
 | 
 |  |  |     if srcPlayer == None:
 | 
 |  |  |         # 玩家已下线
 | 
 |  |  |         curCache = PlayerViewCache.ViewCacheMgr.FindCache(srcPlayerID)
 | 
 |  |  |         curCache = PlayerViewCache.FindViewCache(srcPlayerID)
 | 
 |  |  |         if not curCache:
 | 
 |  |  |             #玩家的数据没有缓存过
 | 
 |  |  |             #PlayerControl.NotifyCode(curPlayer, 'Friend_OffLine')
 | 
 |  |  | 
 |  |  |         PlayerControl.NotifyCode(srcPlayer, 'Friend_MakeFriend', [curPlayer.GetName()])
 | 
 |  |  |         #srcPlayer.MapServer_QueryPlayerResult(0, 0, 'AddFriendSucceed', "", 0)
 | 
 |  |  |     else:
 | 
 |  |  |         cacheDict = cPickle.loads(curCache.GetPropData())
 | 
 |  |  |         cacheDict = PlayerViewCache.GetCachePropDataDict(curCache)
 | 
 |  |  |         PlayerControl.NotifyCode(curPlayer, 'Friend_MakeFriend', [cacheDict['Name']])  
 | 
 |  |  |         # 记录等对方上线通知地图,任务等会用到触发逻辑,通用记录次数即可, MapServer_SyncFriendInfo为具体的好友数量,根据策划需求制作
 | 
 |  |  |         pass
 | 
 |  |  | 
 |  |  |     
 | 
 |  |  |     tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(tagID)
 | 
 |  |  |     if not tagPlayer:
 | 
 |  |  |         curCache = PlayerViewCache.ViewCacheMgr.FindCache(tagID)
 | 
 |  |  |         curCache = PlayerViewCache.FindViewCache(tagID)
 | 
 |  |  |         if not curCache:
 | 
 |  |  |             return
 | 
 |  |  |         cacheDict = cPickle.loads(curCache.GetPropData())
 | 
 |  |  |         cacheDict = PlayerViewCache.GetCachePropDataDict(curCache)
 | 
 |  |  |         playerName = cacheDict['Name']
 | 
 |  |  |     else:
 | 
 |  |  |         playerName = tagPlayer.GetName()
 |