#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
##@package Commands.MergeKingFast  
 | 
#  
 | 
# @todo:ÍõÕßÕù°Ô¿ìËÙ¿ªÊ¼¾öÈü  
 | 
# @author hxp  
 | 
# @date 2015-11-19  
 | 
# @version 1.0  
 | 
#  
 | 
# ÏêϸÃèÊö: ÍõÕßÕù°Ô¿ìËÙ¿ªÊ¼¾öÈü  
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
"""Version = 2015-11-19 18:00"""  
 | 
#---------------------------------------------------------------------  
 | 
  
 | 
import GameWorldMergeKing  
 | 
import ShareDefine  
 | 
import GameWorld  
 | 
  
 | 
  
 | 
# µ¼Èë  
 | 
#------------------------------------------------------------------------------   
 | 
  
 | 
## Ö´ÐÐÂß¼  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param cmdList ²ÎÊýÁÐ±í  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(curPlayer, cmdList):  
 | 
    return  
 | 
  
 | 
## ·¢Ë͵½¿ç·þ·þÎñÆ÷µÄÀ©Õ¹²ÎÊýÁÐ±í  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @return None  
 | 
#  @remarks   
 | 
def OnGetMergeParam(curPlayer):  
 | 
    return []  
 | 
  
 | 
## ¿ç·þ·þÎñÆ÷Ö´ÐÐÂß¼  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param cmdList ²ÎÊý  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnMergeServerExec(cmdList, tick):      
 | 
    stateList = [0, 16, 8, 4, 2, 1]  
 | 
    curState = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_Merge_King)  
 | 
    if curState not in stateList:  
 | 
        GameWorld.Log("GM MergeKingFast curState(%s) not in stateList=%s" % (curState, str(stateList)))  
 | 
        return  
 | 
      
 | 
    index = stateList.index(curState)  
 | 
    nextIndex = 0 if index >= len(stateList) - 1 else index + 1  
 | 
    nextState = stateList[nextIndex]  
 | 
    GameWorld.Log("GM MergeKingFast nextState=%s" % nextState)  
 | 
    if nextIndex == 0:  
 | 
        GameWorld.Log("    GM MergeKingFast restart!!!")  
 | 
        GameWorld.GetGameWorld().SetDict(ShareDefine.Def_Notify_WorldKey_Merge_King, 0)  
 | 
        GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_Merge_King, 0)  
 | 
        GameWorldMergeKing.DoMergeKingBattleGrouping32()  
 | 
        return  
 | 
      
 | 
    GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_Merge_King, nextState)  
 | 
    GameWorld.GetGameWorld().SetDict(ShareDefine.Def_Notify_WorldKey_Merge_King, nextState)  
 | 
    GameWorldMergeKing.OnMergeKingStateChange(nextState)  
 | 
    return  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 |