hxp
2019-02-11 cdb5d93a9fd7b32a2ed178feed4eee20ee6502e5
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
@@ -26,6 +26,8 @@
import ReadChConfig
import PlayerFamily
import IPY_GameServer
import PlayerFBHelpBattle
import IpyGameDataPY
import ShareDefine
import ChConfig
@@ -81,6 +83,14 @@
        curCache.SetPlusDataNoSave(PlusData,len(PlusData))
    curCache.SetNeedSaveDB(isSaveDB) #设置需要保存到数据库
    
    # 同步更新助战信息
    if PlayerFBHelpBattle.IsInHelpBattleCheckInList(PlayerID):
        PropDataDict = eval(PropData)
        fightPower = PropDataDict.get("FightPower", 0)
        familyID = PropDataDict.get("FamilyID", 0)
        playerName = PropDataDict.get("Name", "")
        PlayerFBHelpBattle.UpdateCheckInPlayerInfo(PlayerID, fightPower, familyID, playerName)
    #暂时关闭
    #===========================================================================
    # FamilyIDKey = "FamilyID"
@@ -109,7 +119,10 @@
#  @param PlayerID, PlayerLV
#  @return None
def IsNeedSaveLogoutPlayer(PlayerID, PlayerLV):
    SaveDBLimitLV, NeedCheckBillBoardType, HighLadderLimitOrder = ReadChConfig.GetEvalChConfig("CacheSaveLimit")
    if PlayerFBHelpBattle.IsInHelpBattleCheckInList(PlayerID):
        return True
    SaveDBLimitLV = IpyGameDataPY.GetFuncCfg("PlayerViewCache", 1)
    #校验玩家等级
    if PlayerLV < SaveDBLimitLV:
        return False
@@ -118,7 +131,9 @@
# 上榜用户
def IsNeedSaveViewCacheAllInfo(PlayerID):
    SaveDBLimitLV, NeedCheckBillBoardType, HighLadderLimitOrder = ReadChConfig.GetEvalChConfig("CacheSaveLimit")
    if PlayerFBHelpBattle.IsInHelpBattleCheckInList(PlayerID):
        return True
    NeedCheckBillBoardType = IpyGameDataPY.GetFuncEvalCfg("PlayerViewCache", 2)
    #校验玩家是否上排行榜
    billboardMgr = GameWorld.GetBillboard()
    for BillBoardType in NeedCheckBillBoardType:
@@ -259,6 +274,7 @@
            answerPack.LV = 1
            answerPack.RealmLV = 1
            answerPack.OnlineType = ChConfig.Def_Offline
            answerPack.ServerGroupID = 0
        else:
            cacheDict = eval(curCache.GetPropData())
    
@@ -268,6 +284,7 @@
            answerPack.LV = cacheDict["LV"]
            answerPack.RealmLV = cacheDict["RealmLV"]
            answerPack.OnlineType = ChConfig.Def_Offline
            answerPack.ServerGroupID = cacheDict.get("ServerGroupID", 0)
            
    else:
        answerPack.PlayerID = clientPack.PlayerID
@@ -277,19 +294,20 @@
        answerPack.RealmLV = tagPlayer.GetOfficialRank()
        answerPack.OnlineType = ChConfig.Def_Online
        answerPack.IsInTeam = tagPlayer.GetTeamID() > 0
        answerPack.ServerGroupID = PlayerControl.GetPlayerServerGroupID(tagPlayer)
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    NetPackCommon.SendFakePack(curPlayer, answerPack)
    return
def OnPlayerLeaveFamily(playerID):
    GameWorld.DebugLog("ViewCache->OnPlayerLeaveFamily", playerID)
def OnPlayerFamilyChange(playerID, familyID, familyName):
    GameWorld.DebugLog("ViewCache->OnPlayerFamilyChange", playerID)
    curCache = ViewCacheMgr.FindCache(playerID)
    if not curCache:
        return
    PropData = eval(curCache.GetPropData())
    PropData["FamilyID"] = 0
    PropData["FamilyName"] = ""
    PropData["FamilyID"] = familyID
    PropData["FamilyName"] = familyName
    playerLV = PropData["LV"]
    
    PropData = json.dumps(PropData, ensure_ascii=False)