/// <summary>
    /// Gets the item data.
    /// </summary>
    /// <returns>
    /// The item data.
    /// </returns>
    /// <param name='iType'>
    /// type of
    /// </param>
    /// <param name='iLocationID'>
    /// I location I.
    /// </param>
    public PushData GetItemData(Push_Tpye type, long locationID)
    {
        List <PushData> tList = GetItemDataList(type);

        foreach (PushData item in tList)
        {
            if (item.pushItemID == locationID)
            {
                return(item);
            }
        }

        return(null);
    }
    /// <summary>
    /// Removes the item data.
    /// </summary>
    /// <param name='type'>
    /// Type.
    /// </param>
    /// <param name='locationID'>
    /// Location ID
    /// </param>
    public void RemoveItemData(Push_Tpye type, long itemGUID)
    {
        List <PushData> tList = GetItemDataList(type);

        foreach (PushData item in tList)
        {
            if (item.pushItemID == itemGUID)
            {
                RemovePushUI(item);
                tList.Remove(item);
                RemoveItemData(type, itemGUID);               //由于有多个要删除,一次无法删除//
                //此处循环次数较少,所以用了递归而没有做特殊处理//
                break;
            }
        }
    }
    /// <summary>
    /// Gets the item data list.
    /// </summary>
    /// <returns>
    /// The item data list.
    /// </returns>
    /// <param name='type'>
    /// Type. item solt type
    /// </param>
    public List <PushData> GetItemDataList(Push_Tpye iType)
    {
        List <PushData> tList;

        if (!mItemDataListArray.ContainsKey(iType))
        {
            // new a list
            //
            tList = new List <PushData>();
            mItemDataListArray.Add(iType, tList);
        }
        else
        {
            tList = mItemDataListArray[iType];
        }

        return(tList);
    }
    /// <summary>
    /// Gets the instance of item data manager
    /// </summary>
    /// <value>
    /// The instance.
    /// </value>


    /// <summary>
    /// Adds the item data.
    /// </summary>
    /// <param name='type'>
    /// Type.
    /// </param>
    /// <param name='data'>
    /// Data.
    /// </param>
    public void AddItemData(Push_Tpye type, PushData data)
    {
        List <PushData> tList = GetItemDataList(type);

        tList.Add(data);
    }
 /// <summary>
 /// Removes the item data list.
 /// </summary>
 /// <param name='type'>
 /// Type.
 /// </param>
 public void RemoveItemDataList(Push_Tpye type)
 {
     GetItemDataList(type).Clear();
 }
 /// <summary>
 /// Removes the item data by the type and data LocationID
 /// </summary>
 /// <param name='type'>
 /// Type.
 /// </param>
 /// <param name='data'>
 /// Data.
 /// </param>
 public void RemoveItemData(Push_Tpye type, PushData data)
 {
     RemoveItemData(type, data.pushItemID);
 }