From 19576609e69aaf5ff7ece05bf007a5f9eb1eaf9a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 24 十一月 2018 22:15:16 +0800
Subject: [PATCH] 4762 【1.3】【后端】组队功能和助战积分优化;(初版,可测试基本流程)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
index e94851e..731364b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
+++ b/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,13 @@
         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)
+        PlayerFBHelpBattle.UpdateCheckInPlayerInfo(PlayerID, fightPower, familyID)
+        
     #暂时关闭
     #===========================================================================
     # FamilyIDKey = "FamilyID"
@@ -109,7 +118,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 +130,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:
@@ -282,14 +296,14 @@
     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)

--
Gitblit v1.8.0