| #!/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  |