Esempio n. 1
0
        /// <summary>
        /// 根据物品ID获取物品数据
        /// </summary>
        /// <param name="_nGoodsID"></param>
        /// <returns></returns>
        internal UWarGoodsStoreItem GetWarGoodsStoreItem(int _nGoodsID, bool _bFilterGood = true)
        {
            UWarGoodsStoreItem tmpGoods = null;

            foreach (var goods in WarGoodsStoreMobaGoodsDataSource)
            {
                if (goods.GoodsID == _nGoodsID)
                {
                    tmpGoods = goods;
                    break;
                }
            }

            //如果当前战场开启了物品过滤,则过滤一次
            if (_bFilterGood && EnableGoodsFilter)
            {
                if (tmpGoods != null && tmpGoods.IsFiltered)
                {
                    tmpGoods = null;
                }
            }

            //if (tmpGoods == null)
            //{
            //    Trace.LogWarning("没找到ID:" + _nGoodsID + "的物品");
            //}
            return(tmpGoods);
        }
Esempio n. 2
0
        /// <summary>
        /// 添加物品数据
        /// </summary>
        /// <param name="_SchemeGoods"></param>
        protected void AddGoodsItemDataSource(SSchemeMobaGoods _SchemeGoods)
        {
            UWarGoodsStoreItem goods = new UWarGoodsStoreItem(_SchemeGoods);

            goods.OnPropertyChange += OnDataPropertyChange;
            m_SchemeMobaGoodsDataSource.Add(goods);
        }
Esempio n. 3
0
 /// <summary>
 /// 移除物品数据
 /// </summary>
 /// <param name="_nItem"></param>
 protected void RemoveGoodsItemDataSource(UWarGoodsStoreItem _nItem)
 {
     if (m_SchemeMobaGoodsDataSource.Contains(_nItem))
     {
         _nItem.OnPropertyChange -= OnDataPropertyChange;
         m_SchemeMobaGoodsDataSource.Remove(_nItem);
     }
 }
Esempio n. 4
0
 /// <summary>
 /// 物品数据某个属性发生改变时触发,前提是这个属性被标记为可触发类型
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnDataPropertyChange(object sender, PropertyChangeEventArgs e)
 {
     if (sender is UWarGoodsStoreItem)
     {
         UWarGoodsStoreItem item = sender as UWarGoodsStoreItem;
         if (!m_dicGoodsItemProtertyChange.ContainsKey(item.GoodsID))
         {
             m_dicGoodsItemProtertyChange.Add(item.GoodsID, item);
         }
     }
 }