|  | @@ -17,6 +17,7 @@ namespace GFGGame
 | 
	
		
			
				|  |  |          private Dictionary<int, long> _decomposeData = new Dictionary<int, long>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private long _decomposeCount = 0;//要分解物品的数量
 | 
	
		
			
				|  |  | +        private long _decoNormalCount = 0;//要分解普通物品的数量
 | 
	
		
			
				|  |  |          private int _curRarity = 0;
 | 
	
		
			
				|  |  |          public override void Dispose()
 | 
	
		
			
				|  |  |          {
 | 
	
	
		
			
				|  | @@ -172,7 +173,7 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              int itemId = (com.data as ItemCfg).id;
 | 
	
		
			
				|  |  |              if (!_decomposeData.ContainsKey(itemId)) _decomposeData[itemId] = 0;
 | 
	
		
			
				|  |  |              if (_decomposeData[itemId] == DecomposeDataManager.Instance.CanDecomposeCount(_ui.m_c1.selectedIndex, itemId)) return;
 | 
	
		
			
				|  |  | -            if (_decomposeCount == DecomposeDataManager.MaxCount)
 | 
	
		
			
				|  |  | +            if ((_decomposeCount + _decoNormalCount) == DecomposeDataManager.MaxCount)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  PromptController.Instance.ShowFloatTextPrompt("已达到单次可分解上限,请分批操作");
 | 
	
		
			
				|  |  |                  return;
 | 
	
	
		
			
				|  | @@ -188,7 +189,11 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              item.m_TouchType.selectedIndex = 1;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              _decomposeData[itemId] = _decomposeData[itemId] + 1;
 | 
	
		
			
				|  |  | -            _decomposeCount += 1;
 | 
	
		
			
				|  |  | +            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
 | 
	
		
			
				|  |  | +            if(itemCfg.suitId > 0)
 | 
	
		
			
				|  |  | +                _decomposeCount += 1;
 | 
	
		
			
				|  |  | +            else
 | 
	
		
			
				|  |  | +                _decoNormalCount += 1;
 | 
	
		
			
				|  |  |              item.m_txtDecomCount.text = _decomposeData[itemId].ToString();
 | 
	
		
			
				|  |  |              UI_ComItem.ProxyEnd();
 | 
	
		
			
				|  |  |              UpdateConsume();
 | 
	
	
		
			
				|  | @@ -204,7 +209,11 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              int itemId = (com.data as ItemCfg).id;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              _decomposeData[itemId] = _decomposeData[itemId] - 1;
 | 
	
		
			
				|  |  | -            _decomposeCount -= 1;
 | 
	
		
			
				|  |  | +            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
 | 
	
		
			
				|  |  | +            if (itemCfg.suitId > 0)
 | 
	
		
			
				|  |  | +                _decomposeCount -= 1;
 | 
	
		
			
				|  |  | +            else
 | 
	
		
			
				|  |  | +                _decoNormalCount -= 1;
 | 
	
		
			
				|  |  |              item.m_txtDecomCount.text = _decomposeData[itemId].ToString();
 | 
	
		
			
				|  |  |              if (_decomposeData[itemId] == 0)
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -233,7 +242,7 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              if (_clothingDatas == null)
 | 
	
		
			
				|  |  |                  return;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            long lastCount = DecomposeDataManager.MaxCount - _decomposeCount;
 | 
	
		
			
				|  |  | +            long lastCount = DecomposeDataManager.MaxCount - _decomposeCount - _decoNormalCount;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              for (int i = 0; i < _clothingDatas.Count; i++)
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -249,7 +258,11 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                  lastCount -= count;
 | 
	
		
			
				|  |  |                  if (!_decomposeData.ContainsKey(itemId)) _decomposeData[itemId] = 0;
 | 
	
		
			
				|  |  |                  _decomposeData[itemId] = _decomposeData[itemId] + count;
 | 
	
		
			
				|  |  | -                _decomposeCount += count;
 | 
	
		
			
				|  |  | +                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
 | 
	
		
			
				|  |  | +                if (itemCfg.suitId > 0)
 | 
	
		
			
				|  |  | +                    _decomposeCount += count;
 | 
	
		
			
				|  |  | +                else
 | 
	
		
			
				|  |  | +                    _decoNormalCount += count;
 | 
	
		
			
				|  |  |                  if (lastCount == 0) break;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              _ui.m_list.numItems = _clothingDatas.Count;
 | 
	
	
		
			
				|  | @@ -258,6 +271,7 @@ namespace GFGGame
 | 
	
		
			
				|  |  |          private void CancleAll()
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              _decomposeCount = 0;
 | 
	
		
			
				|  |  | +            _decoNormalCount = 0;
 | 
	
		
			
				|  |  |              _decomposeData.Clear();
 | 
	
		
			
				|  |  |              if (_clothingDatas != null)
 | 
	
		
			
				|  |  |                  _ui.m_list.numItems = _clothingDatas.Count;
 | 
	
	
		
			
				|  | @@ -285,8 +299,8 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(consumeId);
 | 
	
		
			
				|  |  | -            _ui.m_listReward.numItems = _decomposeCount > 0 ? itemsArr.Length : 0;
 | 
	
		
			
				|  |  | -            _ui.m_txtShow.text = string.Format("*  分解{0}件{1}可获得  *", StringUtil.GetColorText(_decomposeCount.ToString(), "#DA826E"), ConstDressRarity.DressRarityList()[_curRarity]);
 | 
	
		
			
				|  |  | +            _ui.m_listReward.numItems = (_decomposeCount + _decoNormalCount) > 0 ? itemsArr.Length : 0;
 | 
	
		
			
				|  |  | +            _ui.m_txtShow.text = string.Format("*  分解{0}件{1}可获得  *", StringUtil.GetColorText((_decomposeCount + _decoNormalCount).ToString(), "#DA826E"), ConstDressRarity.DressRarityList()[_curRarity]);
 | 
	
		
			
				|  |  |              ET.Log.Debug("分解消耗:  " + consumeId + "   找不到物品配置");
 | 
	
		
			
				|  |  |              if (itemCfg == null)
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -303,15 +317,22 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              if (_ui.m_c1.selectedIndex == 0)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  DecomposeCfg decomposeCfg = DecomposeCfgArray.Instance.GetCfg(_curRarity);
 | 
	
		
			
				|  |  | -                itemsArr = decomposeCfg.itemsArr;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                if (index + 1 <= _decomposeCount)
 | 
	
		
			
				|  |  | +                    itemsArr = decomposeCfg.itemsArr;
 | 
	
		
			
				|  |  | +                else
 | 
	
		
			
				|  |  | +                    itemsArr = decomposeCfg.items2Arr;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              else
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  DecomposeSkillCfg decomposeSkillCfg = DecomposeSkillCfgArray.Instance.GetCfg(_curRarity);
 | 
	
		
			
				|  |  |                  itemsArr = decomposeSkillCfg.itemsArr;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemsArr[index][0]);
 | 
	
		
			
				|  |  | -            item.m_txtCount.text = (itemsArr[index][1] * _decomposeCount).ToString();
 | 
	
		
			
				|  |  | +            if (_ui.m_c1.selectedIndex == 0 && index + 1 > _decomposeCount)
 | 
	
		
			
				|  |  | +                item.m_txtCount.text = (itemsArr[index][1] * _decoNormalCount).ToString();
 | 
	
		
			
				|  |  | +            else
 | 
	
		
			
				|  |  | +                item.m_txtCount.text = (itemsArr[index][1] * _decomposeCount).ToString();
 | 
	
		
			
				|  |  |              string ext = ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType, true);
 | 
	
		
			
				|  |  |              item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg.res, ext);
 | 
	
		
			
				|  |  |              item.target.data = itemCfg;
 | 
	
	
		
			
				|  | @@ -339,7 +360,7 @@ namespace GFGGame
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              DecomposeCfg cfg = DecomposeCfgArray.Instance.GetCfg(_curRarity);
 | 
	
		
			
				|  |  |              ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cfg.consumeId);
 | 
	
		
			
				|  |  | -            if (_decomposeCount <= 0)
 | 
	
		
			
				|  |  | +            if ((_decomposeCount + _decoNormalCount) <= 0)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  String str = "";
 | 
	
		
			
				|  |  |                  if (_ui.m_c1.selectedIndex == 0)
 | 
	
	
		
			
				|  | @@ -350,13 +371,17 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                  PromptController.Instance.ShowFloatTextPrompt(str);
 | 
	
		
			
				|  |  |                  return;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            long consumeCount = cfg.consumeCount * _decomposeCount;
 | 
	
		
			
				|  |  | +            long consumeCount = 0;
 | 
	
		
			
				|  |  | +            if (itemCfg.suitId > 0)
 | 
	
		
			
				|  |  | +                consumeCount = cfg.consumeCount * _decomposeCount;
 | 
	
		
			
				|  |  | +            else 
 | 
	
		
			
				|  |  | +                consumeCount = cfg.consumeCount * _decoNormalCount;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              if (consumeCount > ItemDataManager.GetItemNum(cfg.consumeId))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  PromptController.Instance.ShowFloatTextPrompt(string.Format("{0}不足", itemCfg.name));
 | 
	
		
			
				|  |  |                  return;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |              List<int> itemIds = _decomposeData.Keys.ToList<int>();
 | 
	
		
			
				|  |  |              List<long> itemNums = _decomposeData.Values.ToList<long>();
 | 
	
		
			
				|  |  |              if (_ui.m_c1.selectedIndex == 0)
 |