| | |
| | | def GetRecordMapID(mapID):
|
| | | DataMapIDDict = IpyGameDataPY.GetConfigEx("DataMapIDDict")
|
| | | if not DataMapIDDict:
|
| | | mIDToDataMapIDDict = {} # 场景ID对应功能地图ID
|
| | | dMapIDDict = {}
|
| | | ipyDataMgr = IpyGameDataPY.IPY_Data()
|
| | | for i in xrange(ipyDataMgr.GetFBLineCount()):
|
| | | ipyData = ipyDataMgr.GetFBLineByIndex(i)
|
| | | dMapID = ipyData.GetDataMapID()
|
| | | mID = ipyData.GetMapID()
|
| | | dMapIDList= dMapIDDict.get(dMapID, [])
|
| | | if mID not in dMapIDList:
|
| | | dMapIDList.append(mID)
|
| | | dMapIDDict[dMapID] = dMapIDList
|
| | | mIDList= dMapIDDict.get(dMapID, [])
|
| | | if mID not in mIDList:
|
| | | mIDList.append(mID)
|
| | | dMapIDDict[dMapID] = mIDList
|
| | |
|
| | | for dMapID in dMapIDDict.keys():
|
| | | if len(dMapIDDict[dMapID]) == 1:
|
| | | dMIDList= mIDToDataMapIDDict.get(mID, [])
|
| | | if dMapID not in dMIDList:
|
| | | dMIDList.append(dMapID)
|
| | | mIDToDataMapIDDict[mID] = dMIDList
|
| | | |
| | | unMIDList = []
|
| | | for mID, dMIDList in mIDToDataMapIDDict.items():
|
| | | if len(dMIDList) > 1:
|
| | | unMIDList.append(mID)
|
| | | #GameWorld.DebugLog("----------- 同个场景对应到多个功能地图的,视为无意义的地图! mID=%s, to dMIDList=%s" % (mID, dMIDList))
|
| | | for dMapID, mIDList in dMapIDDict.items():
|
| | | for unMID in unMIDList:
|
| | | if unMID in mIDList:
|
| | | mIDList.remove(unMID)
|
| | | if len(mIDList) <= 1:
|
| | | dMapIDDict.pop(dMapID)
|
| | | DataMapIDDict = IpyGameDataPY.SetConfigEx("DataMapIDDict", dMapIDDict)
|
| | | #GameWorld.Log("加载DataMapIDDict=%s" % DataMapIDDict)
|