hxp
2018-09-26 0a17e139006a7e19bc3a100fa394ad7d9b4bb716
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/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