#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#---------------------------------------------------------------------  
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
##@package SetFamilyInfo  
 | 
# @todo: ÉèÖüÒ×åÊôÐÔ  
 | 
#  
 | 
# @author: panwei  
 | 
# @date 2010-12-10  
 | 
# @version 1.2  
 | 
#  
 | 
# @change: "2015-03-23 10:00" hxp Ôö¼ÓÉèÖüÒÔ°µÈ¼¶£¬¾Ñé  
 | 
# @change: "2016-06-06 22:00" hxp Ôö¼Ó¼Ò×å×êʯ¡¢ÁîÅÆ  
 | 
#  
 | 
# @note:   
 | 
#---------------------------------------------------------------------  
 | 
#"""Version = 2016-06-06 22:00"""  
 | 
#---------------------------------------------------------------------  
 | 
import PlayerFamily  
 | 
import GameWorld  
 | 
#---------------------------------------------------------------------  
 | 
#¹¦ÄÜö¾Ù  
 | 
(  
 | 
Def_FamilyInfo_LV,                               # ÉèÖüÒ×åµÈ¼¶  
 | 
Def_FamilyInfo_Money,                            # ÉèÖüÒ×å×ʽð  
 | 
Def_FamilyInfo_WarRank,                          # ÉèÖüÒ×åÁªÈüÃû´Î  
 | 
Def_FamilyInfo_FightPower,                       # ÉèÖüÒ×å×ÜÕ½Á¦  
 | 
Def_FamilyInfo_BossFood,                         # ÉèÖüÒ×åÊÞÁ¸  
 | 
Def_FamilyInfo_WeekMissionMoney,                 # ±¾ÖÜÈÎÎñ×ʽð  
 | 
) = range(6)  
 | 
  
 | 
#ϵͳÌáʾÐÅÏ¢±í  
 | 
Def_MsgDict = {  
 | 
               Def_FamilyInfo_LV:'µÈ¼¶',  
 | 
               Def_FamilyInfo_Money:'×ʽð',  
 | 
               Def_FamilyInfo_WarRank:'ÁªÈüÃû´Î',  
 | 
               Def_FamilyInfo_FightPower:'×ÜÕ½Á¦',  
 | 
               Def_FamilyInfo_BossFood:'ÊÞÁ¸',  
 | 
               Def_FamilyInfo_WeekMissionMoney:'±¾ÖÜÈÎÎñ×ʽð',  
 | 
               "all":'ËùÓÐÊôÐÔ',  
 | 
               }  
 | 
  
 | 
#ÉèÖÃÈ«²¿ÊôÐÔʱÐèÒªÉèÖõÄÊôÐÔÀàÐÍ, Ò»°ãÓÃÓÚ¿ìËÙ²âÊÔÓà  
 | 
Def_SetAllFamilyInfoList = [Def_FamilyInfo_Money]  
 | 
#---------------------------------------------------------------------  
 | 
## Ö´ÐÐÂß¼  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param cmdList [ö¾Ù, ÊýÖµ]  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(curPlayer, cmdList):  
 | 
    if len(cmdList) != 2:  
 | 
        helpStr = ""  
 | 
        for index, name in Def_MsgDict.items():  
 | 
            helpStr = helpStr + "%s-%s," % (index, name)  
 | 
        GameWorld.DebugAnswer(curPlayer, 'SetFamilyInfo ÀàÐÍ ÊýÖµ')  
 | 
        GameWorld.DebugAnswer(curPlayer, '%s' % helpStr)  
 | 
        #GameWorld.DebugAnswer(curPlayer, '    ÌØÊâ: SetFamilyInfo all, ÊýÖµ; ¿ÉÉèÖÃËùÓÐÕ½ÃËÊôÐÔÊýÖµ')  
 | 
        return  
 | 
      
 | 
    curFamily = curPlayer.GetFamily()  
 | 
      
 | 
    if not curFamily:  
 | 
        GameWorld.DebugAnswer(curPlayer, 'SetFamilyInfo ´íÎó Íæ¼ÒÎÞ¼Ò×å')  
 | 
        return  
 | 
      
 | 
    funcType, funcValue = cmdList  
 | 
    infoTypeList = [funcType]  
 | 
    if funcType == "all":  
 | 
        infoTypeList = Def_SetAllFamilyInfoList  
 | 
          
 | 
    __SetFamilyInfoValue(curPlayer, curFamily, infoTypeList, funcValue)  
 | 
    #֪ͨ¿Í»§¶ËˢР 
 | 
    curFamily.Broadcast_FamilyChange()  
 | 
    #֪ͨµØÍ¼·þÎñÆ÷ˢР 
 | 
    PlayerFamily.SendPack_MapServer_PlayerFamilyRefresh(curFamily)  
 | 
      
 | 
    GameWorld.DebugAnswer(curPlayer, 'ÉèÖüÒ×å%s ³É¹¦, ÊýÖµ = %s'%(Def_MsgDict[funcType], funcValue))  
 | 
    return  
 | 
  
 | 
def __SetFamilyInfoValue(curPlayer, curFamily, infoTypeList, funcValue):  
 | 
    isLVUP = False  
 | 
    isSort = False  
 | 
  
 | 
    for funcType in infoTypeList:  
 | 
          
 | 
        if funcType == Def_FamilyInfo_LV:  
 | 
            curFamily.SetLV(funcValue)  
 | 
            isSort = True  
 | 
              
 | 
        elif funcType == Def_FamilyInfo_Money:  
 | 
            curFamily.SetMoney(funcValue)  
 | 
            isLVUP = True  
 | 
            if funcValue == 0:  
 | 
                PlayerFamily.SetCurWeekMissionMoney(curFamily, 0)  
 | 
                  
 | 
        elif funcType == Def_FamilyInfo_WarRank:  
 | 
            PlayerFamily.SetFamilyWarRank(curFamily, funcValue)  
 | 
            isSort = True  
 | 
          
 | 
        elif funcType == Def_FamilyInfo_FightPower:  
 | 
            PlayerFamily.SetFamilyTotalFightPower(curFamily, funcValue)  
 | 
            isSort = True  
 | 
              
 | 
        elif funcType == Def_FamilyInfo_BossFood:  
 | 
            PlayerFamily.SetFamilyBossFood(curFamily, funcValue)  
 | 
              
 | 
        elif funcType == Def_FamilyInfo_WeekMissionMoney:  
 | 
            PlayerFamily.SetCurWeekMissionMoney(curFamily, 0)  
 | 
              
 | 
        else:  
 | 
            GameWorld.DebugAnswer(curPlayer, 'SetFamilyInfo ´íÎó funcType = %s'%(funcType))  
 | 
    #×Ô¶¯Éý¼¶Õ½ÃË  
 | 
    if isLVUP:  
 | 
        if PlayerFamily.DoFamilyLvUp(curFamily):  
 | 
            isSort = False  
 | 
    if isSort:  
 | 
        PlayerFamily.DoFamilySort()  
 | 
    return  
 | 
  
 | 
     
 |