hch
2 天以前 35d98e9c630fd4408561c8c54b4c09193bb9ce9e
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldAction.py
@@ -19,6 +19,7 @@
import DBDataMgr
import ShareDefine
import PlayerActLunhuidian
import PlayerActHeroAppear
import IpyGameDataPY
import PlayerControl
import PyGameData
@@ -701,11 +702,16 @@
            dbOperationActIDKey = ShareDefine.Def_OperationActID % (actName, actNum)
            dbActID = dbEventMgr.GetValue(dbOperationActIDKey)
            
            dbOperationActCfgIDKey = ShareDefine.Def_OperationActCfgID % (actName, actNum)
            dbActCfgID = dbEventMgr.GetValue(dbOperationActCfgIDKey)
            curActID = sendMapServerMsgDict.get(ShareDefine.ActKey_ID, 0)
            curCfgID = sendMapServerMsgDict.get(ShareDefine.ActKey_CfgID, 0)
            #dayIndex = sendMapServerMsgDict.get(ShareDefine.ActKey_DayIndex, 0)
            if dbActID != curActID:
                GameWorld.Log("    dbActID变更: dbActID=%s,curActID=%s" % (dbActID, curActID))
                GameWorld.Log("    dbActID变更: dbActID=%s,curActID=%s,dbActCfgID=%s,curCfgID=%s" % (dbActID, curActID, dbActCfgID, curCfgID))
                dbEventMgr.SetValue(dbOperationActIDKey, curActID)
                dbEventMgr.SetValue(dbOperationActCfgIDKey, curCfgID)
                
                # 结束旧的
                if dbActID:
@@ -722,15 +728,17 @@
                #else:
                #    if actName == ShareDefine.OperationActionName_GarbageSorting:
                #        PlayerActGarbageSorting.OnActEnd(actNum)
                if actName == ShareDefine.OperationActionName_HeroAppear:
                    PlayerActHeroAppear.OnActIDChange(actNum, ipyData, state, dbActCfgID)
            else:
                GameWorld.Log("    dbActID不变: dbActID=%s,curActID=%s" % (dbActID, curActID))
                GameWorld.Log("    dbActID不变: dbActID=%s,curActID=%s,dbActCfgID=%s" % (dbActID, curActID, dbActCfgID))
                
            # 活动中刷新,每次都需要刷新的逻辑,包含重读配置等
            if state:
                pass
                #if actName == ShareDefine.OperationActionName_Gubao:
                #    PlayerActGubao.OnActInStateRefresh(actNum, ipyData)
                if actName == ShareDefine.OperationActionName_HeroAppear:
                    PlayerActHeroAppear.OnActInStateRefresh(actNum, ipyData)
                    
            # 仅活动有配置参与时间段的会触发
            if curActID and dbActID == curActID and preStateJoin != stateJoin:
@@ -769,6 +777,8 @@
    GameWorld.Log("OperationActionRefresh: %s,actNum=%s,%s" % (actName, actNum, actInfo))
    if actName == ShareDefine.OperationActionName_Lunhuidian:
        PlayerActLunhuidian.RefreshActLunhuidianActionInfo(actNum)
    elif actName == ShareDefine.OperationActionName_HeroAppear:
        PlayerActHeroAppear.RefreshActHeroAppearActionInfo(actNum)
        
    return