hch
2019-07-26 0e9130c0a399fb72da75e6065350cd8fc8a4bf77
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
@@ -1095,11 +1095,12 @@
        #    GameWorld.DebugLog("        副本可否进入已经是该值: dataMapID=%s,updCanEnter=%s,canEnterKey=%s" % (dataMapID, updCanEnter, canEnterKey))            
            
        fbFuncStateKey = ShareDefine.Def_Notify_WorldKey_FBFuncState % dataMapID
        if gameWorld.GetDictByKey(fbFuncStateKey) != updStateValue:
        beforeState = gameWorld.GetDictByKey(fbFuncStateKey)
        if beforeState != updStateValue:
            GameWorld.SendMapServerMsgEx(fbFuncStateKey, updStateValue) #通知Mapserver,设置字典
            gameWorld.SetDict(fbFuncStateKey, updStateValue) #更新字典值
            GameWorld.Log("副本状态变更: dataMapID=%s,updStateValue=%s,fbFuncStateKey=%s" % (dataMapID, updStateValue, fbFuncStateKey))
            __DoLogic_GameServer_ActionState(fbFuncStateKey, updStateValue)
            __DoLogic_GameServer_ActionState(fbFuncStateKey, updStateValue, beforeState)
        #else:
        #    GameWorld.DebugLog("        副本状态已经是该值: dataMapID=%s,updStateValue=%s,fbFuncStateKey=%s" % (dataMapID, updStateValue, fbFuncStateKey))
            
@@ -1245,12 +1246,13 @@
##处理GameServer活动状态
# @param dictName 字典名
# @param isOpen 是否开启
# @param beforeState 状态变更前的值,部分判断处理
# @return 返回值无意义
# @remarks 
def __DoLogic_GameServer_ActionState(dictName, isOpen):
def __DoLogic_GameServer_ActionState(dictName, isOpen, beforeState=0):
    #仙盟宴会 
    if dictName == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyParty:
        PlayerFamilyParty.FamilyPartyStateChange(isOpen)
        PlayerFamilyParty.FamilyPartyStateChange(isOpen, beforeState)
    #仙盟联赛
    elif dictName == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyWar:
        GameWorldFamilyWar.OnFamilyWarStateChange(isOpen)