#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
  
 | 
##@package ClearItem  
 | 
# Çå³ý±³°üÎïÆ·  
 | 
#  
 | 
# @author Mark  
 | 
# @date 2010-4-21  
 | 
# @version 1.2  
 | 
#  
 | 
# ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ  
 | 
#  
 | 
# Ä£¿éÏêϸ˵Ã÷  
 | 
# @change: "2012-06-27 15:30" whx Ôö¼ÓsetCount´íÎóoss¼Ç¼  
 | 
# @change: "2012-08-10 15:00" zhangxi ÐÞ¸ÄOSS¼Ç¼  
 | 
  
 | 
import IPY_GameWorld  
 | 
import Lang  
 | 
import ItemControler  
 | 
  
 | 
"""Version = 2012-08-10 15:00"""  
 | 
## GMÃüÁîÖ´ÐÐÈë¿Ú  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param playerList ²ÎÊýÁбí [] [index] [index, count]  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(curPlayer,playerList):  
 | 
    if not len( playerList ):  
 | 
        __DoLogic_ClearAllItem( curPlayer )  
 | 
        return  
 | 
      
 | 
    if len( playerList ) == 1:  
 | 
        __DoLogic_ClearSingItem( curPlayer , int(playerList[0])  )  
 | 
        return  
 | 
      
 | 
    if len( playerList ) == 2:  
 | 
        __DoLogic_ClearSingItem_Count( curPlayer , int(playerList[0]) , int(playerList[1])  )  
 | 
      
 | 
    return True  
 | 
  
 | 
## Çå³ý¹Ì¶¨ÊýÁ¿µÄ±³°üij¸ö¸ñ×Ó  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param itemIndex ±³°üË÷Òý  
 | 
#  @param itemCount Çå³ýÊýÁ¿  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def __DoLogic_ClearSingItem_Count( curPlayer , itemIndex , itemCount  ):  
 | 
    backPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)  
 | 
    curItem = backPack.GetAt( itemIndex )  
 | 
      
 | 
    if not curItem or curItem.IsEmpty():  
 | 
        return  
 | 
      
 | 
    if curItem.GetCount() < itemCount:  
 | 
        curItem.Clear()  
 | 
    else:  
 | 
        ItemControler.SetItemCount(curItem, curItem.GetCount() - itemCount, curPlayer.GetPlayerID(),   
 | 
                                   curPlayer.GetAccID(), curPlayer.GetPlayerName())  
 | 
      
 | 
    return  
 | 
  
 | 
## Çå³ýËùÓб³°üÎïÆ·  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def __DoLogic_ClearAllItem( curPlayer ):  
 | 
      
 | 
    backPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)  
 | 
      
 | 
    for i in range(backPack.GetCount()):  
 | 
        curItem = backPack.GetAt(i)  
 | 
          
 | 
        if not curItem or curItem.IsEmpty():  
 | 
            continue  
 | 
          
 | 
        curItem.Clear()  
 | 
      
 | 
    return  
 | 
  
 | 
## Çå³ý±³°üijË÷ÒýµÄÎïÆ·  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param itemIndex ±³°üË÷Òý  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def __DoLogic_ClearSingItem( curPlayer , itemIndex ):  
 | 
    backPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)  
 | 
    curItem = backPack.GetAt( itemIndex )  
 | 
      
 | 
    if not curItem or curItem.IsEmpty():  
 | 
        return  
 | 
      
 | 
    curItem.Clear()  
 | 
    return  
 |