| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package MergeChildMsg  | 
| #  | 
| # @todo:×Ó·þÎñÆ÷·¢ËÍÐÅÏ¢µ½¿ç·þÖÐÐÄ·þÎñÆ÷  | 
| # @author hxp  | 
| # @date 2015-10-22  | 
| # @version 1.4  | 
| #  | 
| # @change: "2015-11-05 12:00" hxp Ôö¼Ó»Ö¸´¿ç·þÁ¬Ê¤  | 
| # @change: "2015-11-06 16:30" hxp Ôö¼ÓpyÀ®°È£¬Ö§³Ö¿ç·þ  | 
| # @change: "2017-07-05 17:00" hxp ×Ó·þÖØÆô³É¹¦Ê±¹ã²¥ºé»ÄÖ®Á¦»î¶¯ÐÅÏ¢  | 
| # @change: "2017-07-06 20:30" hxp ×Ó·þÖØÆô³É¹¦Ê±¹ã²¥¿ç·þboss»î¶¯ÐÅÏ¢  | 
| # ÏêϸÃèÊö: ×Ó·þÎñÆ÷·¢ËÍÐÅÏ¢µ½¿ç·þÖÐÐÄ·þÎñÆ÷  | 
| #  | 
| #---------------------------------------------------------------------  | 
| #"""Version = 2017-07-06 20:30"""  | 
| #---------------------------------------------------------------------  | 
| import GMShell  | 
| import ChConfig  | 
| import GameWorldMergePK  | 
| import GameWorldMergeBoss  | 
| import MergeBroadcast  | 
| import GameWorld  | 
|   | 
| import traceback  | 
|   | 
|   | 
| ## ·¢ËÍÐÅÏ¢µ½¿ç·þ·þÎñÆ÷ÉÏ  | 
| #  @param sendType ÐÅÏ¢ÀàÐÍ  | 
| #  @param dataMsg ÐÅÏ¢Êý¾Ý  | 
| #  @return None  | 
| def SendMergerChildToCenterStringData(operType, dataMsg):  | 
|     if GameWorld.IsMergeServer():  | 
|         return  | 
|       | 
|     sendMsg = str({'Oper':operType, 'Data':dataMsg})  | 
|     GameWorld.Log("SendMergerChildToCenterStringData=> sendDict%s"%(sendMsg))     | 
|     GameWorld.GetGameWorld().SendMergerChildToCenterStringData(sendMsg, len(sendMsg))  | 
|     return  | 
|   | 
|       | 
| ## ½ÓÊÕtagMGMergerChildToCenter  | 
| #  @param recvMsg   | 
| #  @return ÎÞ·µ»ØÖµ  | 
| def Recv_MergerChildToCenterProcess(recvMsg, tick):  | 
|     try:  | 
|         msgDict = eval(recvMsg)  | 
|               | 
|         # »ñµÃ²Ù×÷Ë÷Òý  | 
|         operIndex = msgDict.get("Oper", -1)      | 
|         infoDict = msgDict.get('Data')  | 
|           | 
|         if not infoDict:  | 
|             return  | 
|           | 
|         if operIndex == ChConfig.Def_RequestMergePKMatch:  | 
|             GameWorldMergePK.ClientServer_RequestMergePKMatch(infoDict, tick)  | 
|                           | 
|         elif operIndex == ChConfig.Def_CancelMergePKMatch:  | 
|             GameWorldMergePK.ClientServer_CancelMergePKMatch(infoDict, tick)  | 
|                           | 
|         elif operIndex == ChConfig.Def_MergePKPrepareOK:  | 
|             GameWorldMergePK.ClientServer_MergePKPrepareOK(infoDict, tick)  | 
|                           | 
|         elif operIndex == ChConfig.Def_RecoverMergePKWin:  | 
|             GameWorldMergePK.ClientServer_RecoverMergePKWin(infoDict, tick)  | 
|                           | 
|         elif operIndex == ChConfig.Def_SendGMCMD:  | 
|             GMShell.ClientServer_SendGMCMD(infoDict, tick)  | 
|                           | 
|         elif operIndex == ChConfig.Def_SendMergeLoudspeaker:  | 
|             MergeBroadcast.SendBroadcastMerge(ChConfig.Def_MergeLoudspeaker, 0, infoDict, False)  | 
|               | 
|         elif operIndex == ChConfig.Def_ClientServerInitOK:  | 
|             OnRecv_ClientServerInitOK(infoDict, tick)  | 
|               | 
|     except:  | 
|         GameWorld.ErrLog('Recv_MergerChildToCenterProcess:%s; except:%s'%(recvMsg, traceback.format_exc()))  | 
|           | 
|     return  | 
|   | 
| def OnRecv_ClientServerInitOK(infoDict, tick):  | 
|     ''' ÊÕµ½×Ó·þÆô¶¯³É¹¦Í¨Öª   | 
|          µ±×Ó·þÆô¶¯³É¹¦ºó£¬¿Éͬ²½Ò»´Î¿ç·þ·þÎñÆ÷»î¶¯×´Ì¬¼°»î¶¯Êý¾Ý¸ø×Ó·þ  | 
|     '''  | 
|     GameWorld.Log("ÊÕµ½¿ç·þ×Ó·þÆô¶¯³É¹¦Í¨Öª!")  | 
|     GameWorldMergePK.OnClientServerInitOK(tick)  | 
|     GameWorldMergeBoss.OnClientServerInitOK(tick)  | 
|     return  | 
|   | 
|   |