| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #---------------------------------------------------------------------  | 
| #  | 
| #---------------------------------------------------------------------  | 
| ##@package GameDataControl  | 
| # @todo: ÓÎÏ·Êý¾Ý¿â  | 
| #  | 
| # @author: panwei  | 
| # @date 2010-09-01  | 
| # @version 1.1  | 
| #  | 
| # @note: ÓÃÓÚ»º´æÓÎÏ·ÖÐÐèÒªµÄһЩÊý¾Ý¿âÁбí, ²»ÓÃÿ´Î¶¼±éÀú  | 
| # @change: "2014-07-18 22:22" Alee É¸Ñ¡ÎïÆ·Ìí¼Ó¹ýÂËÌ××°×°±¸  | 
| #---------------------------------------------------------------------  | 
| """Version = 2014-07-18 22:22"""  | 
| #---------------------------------------------------------------------  | 
| import GameWorld  | 
| import ChConfig  | 
| import ItemCommon  | 
| #---------------------------------------------------------------------  | 
| #ÎïÆ·Êý¾Ý×Öµä(¸ù¾ÝÎïÆ·ÀàÐÍɸѡ)  | 
| #{itemType:[itemData,itemData,itemData,...]}  | 
| g_itemData_ByType_Dist = {}  | 
|   | 
|   | 
| #---------------------------------------------------------------------  | 
| ##ͨ¹ýÎïÆ·ÀàÐÍ»ñÈ¡ÎïÆ·Êý¾ÝÁÐ±í  | 
| # @param findItemType ²éÕÒµÄÎïÆ·ÀàÐÍ  | 
| # @return ÎïÆ·Êý¾ÝÁбí[ItemData,ItemData,ItemData,ItemData....]  | 
| # @remarks Í¨¹ýÎïÆ·ÀàÐÍ»ñÈ¡ÎïÆ·Êý¾ÝÁÐ±í  | 
| def GetItemDataListByType(findItemType):  | 
|     global g_itemData_ByType_Dist  | 
|       | 
|     #g_itemData_ByType_Dist {itemType:[itemData,itemData,itemData,...], itemType:[itemData,itemData,itemData,...]}  | 
|     findList = g_itemData_ByType_Dist.get(findItemType)  | 
|       | 
|     #---ÕÒµ½Á˾ͷµ»Ø---  | 
|     if findList != None:  | 
|         return findList  | 
|       | 
|     #---δÕÒµ½, ³õʼ»¯---  | 
|     findList = __GetItemDataListInDB_ByType(findItemType)  | 
|       | 
|     #¸üÐÂ×Öµä  | 
|     g_itemData_ByType_Dist.update({findItemType:findList})  | 
|     return findList  | 
|   | 
| #---------------------------------------------------------------------  | 
| ##²éÕÒÊý¾Ý¿â, »ñµÃÖ¸¶¨ÀàÐ͵ÄÎïÆ·Êý¾ÝÁÐ±í  | 
| # @param itemType ²éÕÒµÄÎïÆ·ÀàÐÍ  | 
| # @return ÎïÆ·Êý¾ÝÁбí[ItemData,ItemData,ItemData,ItemData....]  | 
| # @remarks ²éÕÒÊý¾Ý¿â, »ñµÃÖ¸¶¨ÀàÐ͵ÄÎïÆ·Êý¾ÝÁÐ±í  | 
| def __GetItemDataListInDB_ByType(itemType):  | 
|     #ÓÎÏ·Êý¾ÝÀà  | 
|     gameData = GameWorld.GetGameData()  | 
|     #ɸѡÊý¾Ý  | 
|     gameData.FilterItemByType(itemType)  | 
|     #·µ»ØµÄÊý¾ÝÁÐ±í  | 
|     saveItemList = []  | 
|       | 
|     for i in range(0, gameData.GetFilterItemCount()):  | 
|         findItemData = gameData.GetFilterItem(i)  | 
|           | 
|         #¹ýÂËÌ××°×°±¸  | 
|         if ItemCommon.GetItemEffectByEffectID(findItemData, ChConfig.Def_Effect_SuiteMark):  | 
|             continue  | 
|           | 
|         saveItemList.append(findItemData)  | 
|       | 
|     return saveItemList  | 
| #---------------------------------------------------------------------  |