ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBFamily.py
@@ -20,6 +20,7 @@
import GameWorld
import ShareDefine
import PlayerControl
import PlayerViewCache
import PyMongoMain
import DBDataMgr
import ChConfig
@@ -82,12 +83,15 @@
        self.__actionDataList.append(actionData)
        return actionData
    
    def AddAction(self, fullClear=True):
    def AddAction(self, maxCount=None):
        ## 添加仙盟Action数据
        # @param fullClear: 数据条数超过最大数时是否清除最早一条,并创建一条新记录
        # @param maxCount: 可传入由配置决定的最大条数,如果为None则进一步取程序默认设定的最大条数,都没配置的话默认不限条数
        
        fullClear = True
        if maxCount == None:
            maxCount = ShareDefine.ActionTypeSaveCnt.get(self.actionType, 0)
        actionData = None
        if self.Count() >= ChConfig.ActionTypeSaveCnt.get(self.actionType, 0):
        if maxCount and self.Count() >= maxCount:
            if not fullClear:
                #超过记录记录不了了
                return actionData
@@ -199,15 +203,19 @@
    def SetFmLV(self, fmLV): self.__dbData.FmLV = fmLV
    def GetContribTotal(self): return self.__dbData.ContribTotal
    def SetContribTotal(self, contribTotal): self.__dbData.ContribTotal = contribTotal
    def GetContribWeek(self): return self.__dbData.ContribWeek
    def SetContribWeek(self, contribWeek): self.__dbData.ContribWeek = contribWeek
    def GetContribDay(self): return self.__dbData.ContribDay
    def SetContribDay(self, contribDay): self.__dbData.ContribDay = contribDay
    def GetDonateCntTotal(self): return self.__dbData.DonateCntTotal
    def SetDonateCntTotal(self, donateCntTotal): self.__dbData.DonateCntTotal = donateCntTotal
    def GetDonateCntDay(self): return self.__dbData.DonateCntDay
    def SetDonateCntDay(self, donateCntDay): self.__dbData.DonateCntDay = donateCntDay
    def GetBuffer(self): return self.__dbData.getBuffer()
    
    def RefreshMemberByID(self, playerID):
        ## 根据玩家ID更新成员数据,一般用于离线功能,如添加离线成员,直接使用查看缓存更新
        if playerID != self.GetPlayerID():
            return
        viewCache = DBDataMgr.GetPlayerViewCacheMgr().FindViewCache(playerID)
        viewCache = PlayerViewCache.FindViewCache(playerID)
        if not viewCache:
            return
        self.SetPlayerName(viewCache.GetPlayerName())
@@ -282,6 +290,8 @@
        return
    def GetEmblemID(self): return self.__dbData.EmblemID
    def SetEmblemID(self, emblemID): self.__dbData.EmblemID = emblemID
    def GetEmblemWord(self): return self.__dbData.EmblemWord
    def SetEmblemWord(self, emblemWord): self.__dbData.EmblemWord = emblemWord
    def GetBuffer(self): return self.__dbData.getBuffer()
        
    ## ------------------------------------------------
@@ -297,6 +307,8 @@
        self.__memberDict[playerID] = member
        self.__memberList.append(member)
        return member
    def GetMemberIDList(self): return self.__memberDict.keys()
    
    def AddMember(self, playerID):
        member = None
@@ -362,7 +374,7 @@
                continue
            familyFightPowerTotal += member.GetFightPowerTotal()
        self.SetFightPowerTotal(familyFightPowerTotal)
        GameWorld.DebugLog("刷新仙盟总战力! familyID=%s" % self.GetID())
        #GameWorld.DebugLog("刷新仙盟总战力! familyID=%s" % self.GetID())
        self.__memFightPowerChange = False
        return familyFightPowerTotal
    
@@ -484,7 +496,7 @@
                self.__familyList.remove(family)
            family.OnDelete()
        self.__familyIDDict.pop(familyID, None)
        if familyID > ShareDefine.FackFamilyIDMax:
        if familyID >= ShareDefine.RealFamilyIDStart:
            PyMongoMain.GetUserCtrlDB().FreeFamilyID(familyID) # 归还仙盟ID,重复使用
        return family