#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
##@package GM.Commands.FamilyWar  
 | 
#  
 | 
# @todo:ÏÉÃËÁªÈü  
 | 
# @author hxp  
 | 
# @date 2018-01-12  
 | 
# @version 1.0  
 | 
#  
 | 
# ÏêϸÃèÊö: ÏÉÃËÁªÈü  
 | 
#  
 | 
#-------------------------------------------------------------------------------  
 | 
#"""Version = 2018-01-12 15:00"""  
 | 
#-------------------------------------------------------------------------------  
 | 
import GameWorld  
 | 
import GameWorldFamilyWar  
 | 
import PlayerUniversalGameRec  
 | 
import ShareDefine  
 | 
import ChConfig  
 | 
  
 | 
  
 | 
# µ¼Èë  
 | 
#------------------------------------------------------------------------------   
 | 
  
 | 
## Ö´ÐÐÂß¼  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param cmdList ²ÎÊýÁÐ±í  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(curPlayer, cmdList):  
 | 
    if not cmdList:  
 | 
        GameWorld.DebugAnswer(curPlayer, "FamilyWar ×´Ì¬(²Î¿¼¸±±¾×´Ì¬Ê±¼ä±í)")  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÏÉÃËÁªÈü: FamilyWar 0 ÖØÖÃÍõÕßÏÉÃË(¿ÉÑ¡)")  
 | 
        GameWorld.DebugAnswer(curPlayer, "¿ªÊ¼Ê×ÂÖ±ÈÈü: FamilyWar 1 ÖØÖÃÍõÕßÏÉÃË(¿ÉÑ¡)")  
 | 
        GameWorld.DebugAnswer(curPlayer, "¿ªÊ¼´ÎÂÖ±ÈÈü: FamilyWar 2")  
 | 
        return  
 | 
    state = cmdList[0]  
 | 
    if state == 0:  
 | 
        isDelRec = cmdList[1] if len(cmdList) > 1 else False  
 | 
        GameWorld.DebugAnswer(curPlayer, "GMÖØÖÃÏÉÃËÁªÈü!isDelRec=%s" % isDelRec)  
 | 
        GameWorldFamilyWar.DoFamilyWarReset(isDelRec)  
 | 
        return  
 | 
      
 | 
    if state in [GameWorldFamilyWar.FamilyWarState_FirstRoundGroup,   
 | 
                 GameWorldFamilyWar.FamilyWarState_FirstRoundBattle,  
 | 
                 GameWorldFamilyWar.FamilyWarState_FirstRoundOver,  
 | 
                 GameWorldFamilyWar.FamilyWarState_SecondRoundGroup,  
 | 
                 GameWorldFamilyWar.FamilyWarState_SecondRoundBattle,  
 | 
                 GameWorldFamilyWar.FamilyWarState_SecondRoundOver,  
 | 
                 GameWorldFamilyWar.FamilyWarState_NextWeekGroupRank,  
 | 
                 ]:  
 | 
        isDelRec = cmdList[1] if len(cmdList) > 1 else False  
 | 
        if state == GameWorldFamilyWar.FamilyWarState_FirstRoundGroup:  
 | 
            GameWorldFamilyWar.DoFamilyWarReset(isDelRec)  
 | 
              
 | 
        GameWorldFamilyWar.OnFamilyWarStateChange(state)  
 | 
        PlayerUniversalGameRec.SendUniversalGameRecInfo(None, ShareDefine.Def_UniversalGameRecType_FamilyWarBattle)  
 | 
          
 | 
        if state in [GameWorldFamilyWar.FamilyWarState_FirstRoundBattle, GameWorldFamilyWar.FamilyWarState_SecondRoundBattle]:  
 | 
            GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_FBCanEnter % ChConfig.Def_FBMapID_FamilyWar, 1)  
 | 
          
 | 
        if isDelRec and state == GameWorldFamilyWar.FamilyWarState_FirstRoundGroup:  
 | 
            PlayerUniversalGameRec.SendUniversalGameRecInfo(None, ShareDefine.Def_UniversalGameRecType_FamilyWarChampion)  
 | 
        GameWorld.DebugAnswer(curPlayer, "Ö´ÐÐÏÉÃËÁªÈü״̬³É¹¦£¡state=%s" % state)  
 | 
        return  
 | 
      
 | 
    if state == 1:  
 | 
        isDelRec = cmdList[1] if len(cmdList) > 1 else False  
 | 
        GameWorldFamilyWar.DoFamilyWarReset(isDelRec)  
 | 
        GameWorldFamilyWar.OnFamilyWarStateChange(GameWorldFamilyWar.FamilyWarState_FirstRoundGroup)  
 | 
        GameWorldFamilyWar.OnFamilyWarStateChange(GameWorldFamilyWar.FamilyWarState_FirstRoundBattle)  
 | 
        GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_FBCanEnter % ChConfig.Def_FBMapID_FamilyWar, 1)  
 | 
        PlayerUniversalGameRec.SendUniversalGameRecInfo(None, ShareDefine.Def_UniversalGameRecType_FamilyWarBattle)  
 | 
        if isDelRec:  
 | 
            PlayerUniversalGameRec.SendUniversalGameRecInfo(None, ShareDefine.Def_UniversalGameRecType_FamilyWarChampion)  
 | 
        return  
 | 
      
 | 
    if state == 2:  
 | 
        GameWorldFamilyWar.OnFamilyWarStateChange(GameWorldFamilyWar.FamilyWarState_SecondRoundGroup)  
 | 
        GameWorldFamilyWar.OnFamilyWarStateChange(GameWorldFamilyWar.FamilyWarState_SecondRoundBattle)  
 | 
        GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_FBCanEnter % ChConfig.Def_FBMapID_FamilyWar, 1)  
 | 
        PlayerUniversalGameRec.SendUniversalGameRecInfo(None, ShareDefine.Def_UniversalGameRecType_FamilyWarBattle)  
 | 
        return  
 | 
      
 | 
    GameWorldFamilyWar.OnFamilyWarStateChange(cmdList[0])  
 | 
    return  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 |