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