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