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