#!/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  
 | 
  
 | 
  
 | 
  
 |