#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
##@package GM.Commands.SetSkyTower  
 | 
#  
 | 
# @todo:ÌìÐÇËþ¹ý¹ØÊýÉèÖà  
 | 
# @author xdh  
 | 
# @date 2019-01-21 16:10  
 | 
# @version 1.0  
 | 
#  
 | 
#  
 | 
# ÏêϸÃèÊö: ÌìÐÇËþ¹ý¹ØÊýÉèÖà  
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
#"""Version = 2019-01-21 16:10"""  
 | 
#---------------------------------------------------------------------  
 | 
  
 | 
import GameLogic_SkyTower  
 | 
import IpyGameDataPY  
 | 
import GameWorld  
 | 
import ChConfig  
 | 
import PlayerControl  
 | 
  
 | 
#---------------------------------------------------------------------  
 | 
#È«¾Ö±äÁ¿  
 | 
#---------------------------------------------------------------------  
 | 
  
 | 
#---------------------------------------------------------------------  
 | 
## Â߼ʵÏÖ  
 | 
## GMÃüÁîÖ´ÐÐÈë¿Ú  
 | 
#  @param curPlayer  
 | 
#  @param cmdList ²ÎÊýÁÐ±í  
 | 
#  @return None  
 | 
def OnExec(curPlayer, cmdList):  
 | 
    if not cmdList:  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÉèÖùý¹ØËþ²ã: SetSkyTower 1 ²ã")  
 | 
        GameWorld.DebugAnswer(curPlayer, "Ìî³äÈ«·þ¹ý¹Ø: SetSkyTower 2 ²ã  ¹ý¹Ø»úÆ÷ÈËÊý")  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÈ«·þ½±Àø: SetSkyTower 3")  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÈ«·þ¹ý¹Ø: SetSkyTower 4")  
 | 
        GameWorld.DebugAnswer(curPlayer, "×¢: ÖØÖÃÈ«·þ¹ý¹ØÐèÖØµÇ")  
 | 
        return  
 | 
    isSendGameServer = False  
 | 
      
 | 
    cmdType = cmdList[0]  
 | 
    if cmdType == 1:  
 | 
        fbLevel = cmdList[1] if len(cmdList) > 1 else 0  
 | 
        GameLogic_SkyTower.SetSkyTowerCurfloorID(curPlayer, fbLevel)  
 | 
        GameLogic_SkyTower.SyncSkyTowerInfo(curPlayer)  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÌìÐÇËþ¹ý¹ØÊýÉèÖàfloor=%s£¡"%fbLevel)  
 | 
    elif cmdType == 2:  
 | 
        floorID = cmdList[1] if len(cmdList) > 1 else 0  
 | 
        #robotCount = cmdList[2] if len(cmdList) > 2 else 1  
 | 
        isSendGameServer = True  
 | 
        ipyDataServer = IpyGameDataPY.GetIpyGameDataNotLog("SkyTowerServerChallenge", floorID)  
 | 
        if not ipyDataServer:  
 | 
            GameWorld.DebugAnswer(curPlayer, "²»´æÔÚ¸ÃÈ«·þ½±Àø²ã:%s" % floorID)  
 | 
            return  
 | 
    elif cmdType == 3:  
 | 
        __ClearServerPassFloorReward(curPlayer)  
 | 
          
 | 
    elif cmdType == 4:  
 | 
        isSendGameServer = True  
 | 
        __ClearServerPassFloorReward(curPlayer)  
 | 
          
 | 
    return isSendGameServer  
 | 
  
 | 
def __ClearServerPassFloorReward(curPlayer):  
 | 
    ipyDataMgr = IpyGameDataPY.IPY_Data()  
 | 
    for index in range(ipyDataMgr.GetSkyTowerServerChallengeCount()):  
 | 
        ipyDataServer = ipyDataMgr.GetSkyTowerServerChallengeByIndex(index)  
 | 
        floorID = ipyDataServer.GetFloorID()  
 | 
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_SkyTowerServerRecord % floorID, 0)  
 | 
    GameLogic_SkyTower.SyncSkyTowerInfo(curPlayer, None, True)  
 | 
    return  
 | 
  
 |