| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package GameWorldSkyTower  | 
| #  | 
| # @todo:ÌìÐÇËþ  | 
| # @author hxp  | 
| # @date 2020Äê03ÔÂ02ÈÕ  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: ÌìÐÇËþ  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #"""Version = 2020Äê03ÔÂ02ÈÕ 20:00"""  | 
| #-------------------------------------------------------------------------------  | 
|   | 
| import GameWorld  | 
| import ShareDefine  | 
| import PlayerUniversalGameRec  | 
|   | 
| import time  | 
|   | 
| def OnPlayerLogin(curPlayer):  | 
|     PlayerUniversalGameRec.SendUniversalGameRecInfo(curPlayer, ShareDefine.Def_UniversalGameRecType_SkyTowerPassPlayer)  | 
|     return  | 
|   | 
| def __GetPassPlayerRecDataByFloorID(floorID):  | 
|     ## »ñÈ¡¹ý¹Ø²ã¼Ç¼Êý¾Ý  | 
|     recTypeListData = GameWorld.GetUniversalRecMgr().GetTypeList(ShareDefine.Def_UniversalGameRecType_SkyTowerPassPlayer)  | 
|       | 
|     recData = None  | 
|     for index in xrange(recTypeListData.Count()):  | 
|         universalRecData = recTypeListData.At(index)  | 
|         if universalRecData.GetValue1() == floorID:  | 
|             recData = universalRecData  | 
|             break  | 
|           | 
|     return recData  | 
|   | 
| def MapServer_SkyTowerInfo(msgList):  | 
|     ## ÌìÐÇËþ¹ý¹Ø  | 
|     msgType, msgData = msgList  | 
|       | 
|     # ¹ý¹Ø  | 
|     if msgType == "ServerChallengePass":  | 
|         __OnServerChallengePass(msgData)  | 
|         return  | 
|       | 
|     # Áì½±  | 
|     if msgType == "ServerChallengeReward":  | 
|         floorID = msgData[0]  | 
|         recData = __GetPassPlayerRecDataByFloorID(floorID)  | 
|         isPass = 1 if recData else 0  | 
|         return msgList + [isPass]  | 
|       | 
|     return  | 
|   | 
| def __OnServerChallengePass(msgData):  | 
|     ## È«·þÌôÕ½²ã¹ý¹Ø  | 
|     floorID, playerID, playerName, job, playerLV, realmLV = msgData  | 
|       | 
|     recData = __GetPassPlayerRecDataByFloorID(floorID)  | 
|     if recData:  | 
|         GameWorld.DebugLog("¸ÃÌìÐÇËþÒѾÓÐÈËÏȹý¹ØÁË£¬²»´¦Àí!floorID=%s" % floorID, playerID)  | 
|         return  | 
|     GameWorld.DebugLog("ÐÂÔöÌìÐÇËþÈ«·þÌôÕ½²ã¹ý¹Ø¼Ç¼!floorID=%s" % floorID, playerID)  | 
|       | 
|     recTypeListData = GameWorld.GetUniversalRecMgr().GetTypeList(ShareDefine.Def_UniversalGameRecType_SkyTowerPassPlayer)  | 
|     recData = recTypeListData.AddRec()  | 
|     recData.SetTime(int(time.time()))  | 
|     recData.SetValue1(floorID)  | 
|     recData.SetValue2(playerID)  | 
|     recData.SetValue3(playerLV)  | 
|     recData.SetValue4(job)  | 
|     recData.SetValue5(realmLV)  | 
|     recData.SetStrValue1(playerName)  | 
|       | 
|     # ¹ã²¥µ¥ÌõÊý¾Ý  | 
|     PlayerUniversalGameRec.SendUniversalGameRecSingle(None, recData)  | 
|     return  | 
|   | 
|   | 
|   |