| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #  | 
| ##@package E:/GameSVN/U3DGame/ProjectSServer/ServerPython/CoreServerGroup/GameServer/Script/PyGameData.py  | 
| # @todo:   | 
| #  | 
| # @author: Alee  | 
| # @date 2017-9-4 ÏÂÎç08:31:29  | 
| # @version 1.0  | 
| #  | 
| # @note: µ¥¶À±£´æpyÊý¾Ý²»ÖضÁÎļþ£¬´ËÎļþ²»ÒªimportÆäËûÄ£¿é£¬±ÜÃâÖØ¶ÁÓÐÎÊÌâ  | 
| #  | 
| #---------------------------------------------------------------------  | 
|   | 
| g_pyGameDataManager = None  | 
|   | 
| g_commMapLineInfo = {} # µØÍ¼ÏßÂ·ÕæÊµµØÍ¼ÐéÄâÏßÐÅÏ¢ {(dataMapID, lineID):(realMapID, copyMapID), ...}  | 
| g_commMapLineRouteDict = {} # µØÍ¼Ïß··ÓÉ·þÎñË÷ÒýÐÅÏ¢ {(dataMapID, lineID):routeServerIndex, ...}  | 
| g_commMapLinePlayerCountDict = {} # ³£¹æµØÍ¼·ÖÏßÈËÊý {dataMapID:{lineID:ÈËÊý, ...}}  | 
| g_needSyncCommMapLinePlayerCount = False # ³£¹æµØÍ¼·ÖÏßÈËÊýÊÇ·ñÓбä¸üÐèҪ֪ͨ  | 
|   | 
| #---------------------------- ×é¶Óϵͳ»º´æ ------------------------------  | 
| g_sceneTeamIDDict = {} # ³¡¾°¶ÓÎéID×Öµä {³¡¾°µØÍ¼ID:[teamID, teamID, ...], ...}  | 
| g_scenePlayerIDDict = {} # ³¡¾°Íæ¼ÒID×Öµä {³¡¾°µØÍ¼ID:[playerID, playerID, ...], ...}  | 
| ## ÓÉÓڲ߻®ÒªÇó¿Í»§¶ËÇëÇóµÃµ½µÄÁбíÐèÒªÊÇʵʱµÄ£¬²¢ÇÒÇëÇóƵÂʱȽϸߣ¬¹ÊÕâÀï×ö¸ö°æ±¾¿ØÖÆ  | 
| #g_sceneTeamServerVersion = {} # ³¡¾°¶ÓÎé±ä¸ü°æ±¾tick {mapID:tick, ...}  | 
| #g_sceneTeamQueryVersion = {} # Íæ¼Ò³¡¾°¶ÓÎé²éѯ°æ±¾tick {playerID:{mapID:tick, ...}, ...}  | 
| g_tagMapTeamDict = {} # Ä¿±ê¶ÓÎé {tagMapID:[teamID, teamID, ...], ...}  | 
| g_tagMapTeamTimeDict = {} # ¶ÓÎé×îºóÒ»´Î¸üÐÂÄ¿±ê¶ÓÎéµÄʱ¼ä {teamID:[mapID, time], ...}  | 
| g_matchingTeamDict = {} # Æ¥ÅäÖеĶÓÎ飬ֻ»á¼Ç¼¸±±¾Æ¥Åä {(tagMapID, tagMapEx):[teamID, teamID, ...], ...}  | 
| g_matchingPlayerDict = {} # Æ¥ÅäÖеÄÍæ¼Ò£¬Ö»»á¼Ç¼¸±±¾Æ¥Åä {(tagMapID, tagMapEx):[playerID, playerID, ...], ...}  | 
|   | 
| g_teamFBEnterAskDict = {} # Ñ¯Îʿɷñ½øÈë×é¶Ó¸±±¾µÄ¶ÓÎéÐÅÏ¢ {teamID:[askMapID, askMapEx, {playerID:[ÑéÖ¤½á¹û, ½á¹ûÌáʾ²ÎÊýÐÅÏ¢], ...}], ...}  | 
| #×¼±¸×´Ì¬: 0-δ׼±¸£¬1-×¼±¸£¬2-¾Ü¾ø£¬3-µôÏߣ¨´ËÇé¿öÔÝʱ²»×ö´¦Àí£¬µôÏߵϰֱ½Ó°Ñ¸ÃÍæ¼Ò´Ó×¼±¸¶ÓÁÐÀïÒÆ³ý£¬µ±×ö´Ë¶ÓÔ±²»´æÔÚ´¦Àí£©  | 
| g_prepareTeamDict = {} # ×¼±¸ÖеĶÓÎéÐÅÏ¢ {teamID:[askMapID, askMapEx, {playerID:×¼±¸×´Ì¬, ...}], ...}  | 
|   | 
| g_queryTeamMemFuncDataDict = {} # ²éѯ¶ÓÔ±¹¦ÄÜÊý¾Ý {(queryFuncType, teamID, srcPlayerID):[[queryID, ...], {queryID:ret, ...}], ...}  | 
|   | 
| g_tjgKickPlayerTeamDict = {} # ÍÑ»ú¹ÒÍæ¼Ò±»Ìß¶ÓÎéIDÁбí {ÍÑ»úplayerID:[ÌßËûµÄteamID, ...], ...}  | 
| g_countdownLeaveTeamDict = {} # µ¹¼ÆÊ±À뿪¶ÓÎéµÄÍæ¼ÒÐÅÏ¢ {playerID:[teamID, leaveServerTick], ...}  | 
| #---------------------------------------------------------------------  | 
|   | 
| #Íæ¼ÒÉ罻Ȧ´æÔÚµ¥ÏòµÄÇé¿ö£¬¼Ç¼±»É罻ȺÌå  | 
| #ÀýÈçAÍæ¼Ò±»BÍæ¼Ò¼ÓÈëºÚÃûµ¥£¬µ«ÊÇAÍæ¼Ò²»¸ÐÖª£¬µ±AÍæ¼ÒÉý¼¶Ê±ÒªÍ¨ÖªBÍæ¼Ò  | 
| #{AÍæ¼ÒID£º{BÍæ¼ÒID£º¼Ç¼´ÎÊý}}  | 
| g_BeSocialList = {}  | 
|   | 
| #ÇëÇóÁбí Íæ¼ÒµÄAddRequest·ÏÆú  | 
| g_playerRequests = {}  | 
|   | 
| g_fightPowerChangeFamilyIDList = [] #ÏÉÃ˳ÉÔ±Õ½Á¦Óбä¸üµÄÏÉÃËID [familyID, ...]  | 
| g_sortFamilyIDList = [] #ÏÉÃËÅÅÐò˳Ðò [familyID, ...]  | 
| g_familyWarFightingIDList = [] # ÏÉÃËÁªÈüÖÐÕýÔÚÕ½¶·ÖеÄÏÉÃËIDÁбí [familyID, ...]  | 
| g_familyWarFamilyIDList = [] # ÏÉÃËÁªÈü²ÎÈüÏÉÃËIDÁбí [familyID, ...]  | 
| g_familyWarMemDict = {} # ÏÉÃËÁªÈü²ÎÈüÈËÔ±Ãûµ¥ {playerID:familyID, ...}  | 
|   | 
| #bossË¢ÐÂÅÅÐòÁÐ±í  | 
| g_sortBOSSRefreshList = []  | 
| g_swrhJoinRecord = [] #ÊØ»¤È˻ʼÒ×å½ñÈղμӼǼ(ÒÑÕý³£½áËã)[familyID]  | 
|   | 
| g_bossShuntPlayerInfo = {} # boss·ÖÁ÷Íæ¼ÒÐÅÏ¢{(mapID, lineID):{playerID:[bossID, teamID, relatedTick], ...}, ...}  | 
| g_bossShuntDeadLine = {} # boss·ÖÁ÷Ïß·bossÒÑËÀÍöµÄÏß· {bossID:[lineID, ...], ...}  | 
| g_bossShuntDeadLineChangeBoss = [] # boss·ÖÁ÷ÒÑËÀÍöÏß·Óбä¸üµÄbossÁÐ±í  | 
|   | 
| g_ctgOfflinePlayerInfo = {} # {playerID:[[ctgInfo], ...], ...} # ÀëÏßÍæ¼ÒCTGÐÅÏ¢»º´æ  | 
|   |