| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package GM.Commands.SetEquipPartStar  | 
| #  | 
| # @todo:ÉèÖÃ×°±¸²¿Î»¹«¹²ÐÇÊý  | 
| # @author xdh  | 
| # @date 2019-3-2  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: ÉèÖÃ×°±¸²¿Î»¹«¹²ÐÇÊý  | 
| #  | 
| #---------------------------------------------------------------------  | 
| """Version = 2019-3-2 17:00"""  | 
| #---------------------------------------------------------------------  | 
| import PlayerControl  | 
| import ChEquip  | 
| import GameWorld  | 
| import IpyGameDataPY  | 
| import ChConfig  | 
| import IPY_GameWorld  | 
| #---------------------------------------------------------------------  | 
| #Â߼ʵÏÖ  | 
| ## GMÃüÁîÖ´ÐÐÈë¿Ú  | 
| #  @param curPlayer µ±Ç°Íæ¼Ò  | 
| #  @param cmdList ²ÎÊýÁбí [classlv, equipPlace, starLV]  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def OnExec(curPlayer, cmdList):  | 
|     if not cmdList:  | 
|         __GMHelpAnswer(curPlayer)  | 
|         return  | 
|     if len(cmdList) == 1:  | 
|         starLV = cmdList[0]  | 
|         equipMaxClasslv = IpyGameDataPY.GetFuncCfg('EquipMaxClasslv')  | 
|         for equipPlace in ChConfig.Pack_EquipPart_CanPlusStar.get(IPY_GameWorld.rptEquip, []):  | 
|             for classlv in xrange(1, equipMaxClasslv+1):  | 
|                 ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classlv, equipPlace)  | 
|                 if not ipyData:  | 
|                     continue   | 
|                 equipPackIndex = ipyData.GetGridIndex()  | 
|                 ChEquip.SetEquipPartStar(curPlayer, equipPackIndex, starLV)  | 
|         ChEquip.NotifyEquipPartStar(curPlayer)  | 
|         ChEquip.RefreshPlayerEquipAttribute(curPlayer)  | 
|         playControl = PlayerControl.PlayerControl(curPlayer)  | 
|         playControl.RefreshPlayerAttrState()  | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖÃËùÓв¿Î»ÐÇÊýΪ: %s" % (starLV))  | 
|     elif len(cmdList) == 2:  | 
|         classLV, starLV = cmdList  | 
|         for equipPlace in ChConfig.Pack_EquipPart_CanPlusStar.get(IPY_GameWorld.rptEquip, []):  | 
|   | 
|             ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace)  | 
|             if not ipyData:  | 
|                 continue   | 
|             equipPackIndex = ipyData.GetGridIndex()  | 
|             ChEquip.SetEquipPartStar(curPlayer, equipPackIndex, starLV)  | 
|         ChEquip.NotifyEquipPartStar(curPlayer)  | 
|         ChEquip.RefreshPlayerEquipAttribute(curPlayer, classLV)  | 
|         playControl = PlayerControl.PlayerControl(curPlayer)  | 
|         playControl.RefreshPlayerAttrState()  | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖÃ%s½×ËùÓв¿Î»ÐÇÊýΪ: %s" % (classLV, starLV))  | 
|           | 
|     if len(cmdList) != 3:  | 
|         return  | 
|     classLV, equipPlace, starLV = cmdList  | 
|     ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace)  | 
|     if not ipyData:  | 
|         __GMHelpAnswer(curPlayer)  | 
|         return  | 
|     equipPackIndex = ipyData.GetGridIndex()  | 
|     ChEquip.SetEquipPartStar(curPlayer, equipPackIndex, starLV)  | 
|     ChEquip.NotifyEquipPartStar(curPlayer, equipPackIndex)  | 
|     ChEquip.RefreshPlayerEquipAttribute(curPlayer, classLV)  | 
|     playControl = PlayerControl.PlayerControl(curPlayer)  | 
|     playControl.RefreshPlayerAttrState()  | 
|     GameWorld.DebugAnswer(curPlayer, "ÉèÖÃ%s½×%s²¿Î»ÐÇÊýΪ: %s" % (classLV, equipPlace, starLV))  | 
|     return  | 
|   | 
|   | 
| def __GMHelpAnswer(curPlayer, errorMsg=""):  | 
|     if errorMsg:  | 
|         GameWorld.DebugAnswer(curPlayer, "%s" % errorMsg)  | 
|     GameWorld.DebugAnswer(curPlayer, "SetEquipPartStar ÐÇÊý")  | 
|     GameWorld.DebugAnswer(curPlayer, "SetEquipPartStar ½×¼¶ ÐÇÊý")  | 
|     GameWorld.DebugAnswer(curPlayer, "SetEquipPartStar ½×¼¶ ²¿Î» ÐÇÊý")  | 
|       | 
|     return  |