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