|  | @@ -55,7 +55,8 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              _ui.m_btnSelect.onClick.Add(OnClickBtnSelect);
 | 
	
		
			
				|  |  | -            _ui.m_btnRule.onClick.Add(OnClickBtnRule);
 | 
	
		
			
				|  |  | +            _ui.m_btnRule.onClick.Add(RuleController.ShowRuleView);
 | 
	
		
			
				|  |  | +            _ui.m_btnRule.data = 300019;
 | 
	
		
			
				|  |  |              _ui.m_btnDecompose.onClick.Add(OnClickBtnDecompose);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              _ui.m_list.itemRenderer = ListItemRander;
 | 
	
	
		
			
				|  | @@ -64,9 +65,22 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              _ui.m_listReward.itemRenderer = ListRewardItemRander;
 | 
	
		
			
				|  |  |              _ui.m_listReward.onClickItem.Add(OnClickListRewardItem);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            _ui.m_c1.onChanged.Add(OnClickDecomposeType);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              // DecomposeDataManager.Instance.InitSuitSyntheticMaterias();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        private void OnClickDecomposeType()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            _ui.m_listTab.selectedIndex = _curRarity - 1;
 | 
	
		
			
				|  |  | +            OnClickBtnRarity(_curRarity);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (_ui.m_c1.selectedIndex == 0)
 | 
	
		
			
				|  |  | +                _ui.m_btnRule.data = 300019;
 | 
	
		
			
				|  |  | +            else
 | 
	
		
			
				|  |  | +                _ui.m_btnRule.data = 300020;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          protected override void OnShown()
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              base.OnShown();
 | 
	
	
		
			
				|  | @@ -94,7 +108,11 @@ namespace GFGGame
 | 
	
		
			
				|  |  |          private void OnClickBtnRarity(int rarity)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              _curRarity = rarity;
 | 
	
		
			
				|  |  | -            _clothingDatas = DecomposeDataManager.Instance.GetDecomposeDataByRarity(rarity);
 | 
	
		
			
				|  |  | +            if(_ui.m_c1.selectedIndex == 0)
 | 
	
		
			
				|  |  | +                _clothingDatas = DecomposeDataManager.Instance.GetDecomposeDataByRarity(rarity);
 | 
	
		
			
				|  |  | +            else if (_ui.m_c1.selectedIndex == 1)
 | 
	
		
			
				|  |  | +                _clothingDatas = DecomposeDataManager.Instance.GetDecomposeMaterialByRarity(rarity);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              _ui.m_list.visible = _clothingDatas != null && _clothingDatas.Count > 0;
 | 
	
		
			
				|  |  |              _ui.m_txtNone.visible = _clothingDatas == null || _clothingDatas.Count == 0;
 | 
	
		
			
				|  |  |              _ui.m_listReward.visible = _clothingDatas != null && _clothingDatas.Count > 0;
 | 
	
	
		
			
				|  | @@ -112,7 +130,7 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              item.m_ViewType.selectedIndex = 1;
 | 
	
		
			
				|  |  |              item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg.res, ext);
 | 
	
		
			
				|  |  |              item.m_txtName.text = itemCfg.name;
 | 
	
		
			
				|  |  | -            long itemHasCount = DecomposeDataManager.Instance.ItemCanDecomposeCount(itemCfg.id);
 | 
	
		
			
				|  |  | +            long itemHasCount = DecomposeDataManager.Instance.CanDecomposeCount(_ui.m_c1.selectedIndex,itemCfg.id);
 | 
	
		
			
				|  |  |              long itemCount = _decomposeData.ContainsKey(_clothingDatas[index]) ? _decomposeData[_clothingDatas[index]] : 0;
 | 
	
		
			
				|  |  |              item.m_txtDecomHasCount.text ="/" + itemHasCount;
 | 
	
		
			
				|  |  |              item.m_QualityType.selectedIndex = itemCfg.rarity - 1;
 | 
	
	
		
			
				|  | @@ -147,7 +165,7 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              GComponent com = _ui.m_list.GetChildAt(childIndex).asCom;
 | 
	
		
			
				|  |  |              int itemId = (com.data as ItemCfg).id;
 | 
	
		
			
				|  |  |              if (!_decomposeData.ContainsKey(itemId)) _decomposeData[itemId] = 0;
 | 
	
		
			
				|  |  | -            if (_decomposeData[itemId] == DecomposeDataManager.Instance.ItemCanDecomposeCount(itemId)) return;
 | 
	
		
			
				|  |  | +            if (_decomposeData[itemId] == DecomposeDataManager.Instance.CanDecomposeCount(_ui.m_c1.selectedIndex, itemId)) return;
 | 
	
		
			
				|  |  |              if (_decomposeCount == DecomposeDataManager.MaxCount)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  PromptController.Instance.ShowFloatTextPrompt("已达到单次可分解上限,请分批操作");
 | 
	
	
		
			
				|  | @@ -218,7 +236,7 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                  // {
 | 
	
		
			
				|  |  |                  //     continue;
 | 
	
		
			
				|  |  |                  // }
 | 
	
		
			
				|  |  | -                long itemHasCount = DecomposeDataManager.Instance.ItemCanDecomposeCount(itemId);
 | 
	
		
			
				|  |  | +                long itemHasCount = DecomposeDataManager.Instance.CanDecomposeCount(_ui.m_c1.selectedIndex,itemId);
 | 
	
		
			
				|  |  |                  long itemLastCount = _decomposeData.ContainsKey(itemId) ? itemHasCount - _decomposeData[itemId] : itemHasCount;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  long count = Math.Min(lastCount, itemLastCount);
 | 
	
	
		
			
				|  | @@ -241,25 +259,53 @@ namespace GFGGame
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private void UpdateConsume()
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | +            int consumeId;
 | 
	
		
			
				|  |  | +            int[][] itemsArr;
 | 
	
		
			
				|  |  | +            int consumeCount;
 | 
	
		
			
				|  |  |              DecomposeCfg cfg = DecomposeCfgArray.Instance.GetCfg(_curRarity);
 | 
	
		
			
				|  |  | -            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cfg.consumeId);
 | 
	
		
			
				|  |  | -            _ui.m_listReward.numItems = _decomposeCount > 0 ? cfg.itemsArr.Length : 0;
 | 
	
		
			
				|  |  | +            if (_ui.m_c1.selectedIndex == 0)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                DecomposeCfg decomposeCfg = DecomposeCfgArray.Instance.GetCfg(_curRarity);
 | 
	
		
			
				|  |  | +                consumeId = decomposeCfg.consumeId;
 | 
	
		
			
				|  |  | +                itemsArr = decomposeCfg.itemsArr;
 | 
	
		
			
				|  |  | +                consumeCount = decomposeCfg.consumeCount;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            else
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                DecomposeSkillCfg decomposeSkillCfg = DecomposeSkillCfgArray.Instance.GetCfg(_curRarity);
 | 
	
		
			
				|  |  | +                consumeId = decomposeSkillCfg.consumeId;
 | 
	
		
			
				|  |  | +                itemsArr = decomposeSkillCfg.itemsArr;
 | 
	
		
			
				|  |  | +                consumeCount = decomposeSkillCfg.consumeCount;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            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]);
 | 
	
		
			
				|  |  | -            ET.Log.Debug("分解消耗:  " + cfg.consumeId + "   找不到物品配置");
 | 
	
		
			
				|  |  | +            ET.Log.Debug("分解消耗:  " + consumeId + "   找不到物品配置");
 | 
	
		
			
				|  |  |              if (itemCfg == null)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  _ui.m_txtConsume.visible = false;
 | 
	
		
			
				|  |  |                  return;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              _ui.m_txtConsume.visible = true;
 | 
	
		
			
				|  |  | -            _ui.m_txtConsume.text = string.Format("消耗{0}X{1}", itemCfg.name, (_decomposeCount * cfg.consumeCount));
 | 
	
		
			
				|  |  | +            _ui.m_txtConsume.text = string.Format("消耗{0}X{1}", itemCfg.name, (_decomposeCount * consumeCount));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          private void ListRewardItemRander(int index, GObject obj)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              UI_ListRewardItem item = UI_ListRewardItem.Proxy(obj);
 | 
	
		
			
				|  |  | -            DecomposeCfg decomposeCfg = DecomposeCfgArray.Instance.GetCfg(_curRarity);
 | 
	
		
			
				|  |  | -            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(decomposeCfg.itemsArr[index][0]);
 | 
	
		
			
				|  |  | -            item.m_txtCount.text = (decomposeCfg.itemsArr[index][1] * _decomposeCount).ToString();
 | 
	
		
			
				|  |  | +            int[][] itemsArr;
 | 
	
		
			
				|  |  | +            if (_ui.m_c1.selectedIndex == 0)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                DecomposeCfg decomposeCfg = DecomposeCfgArray.Instance.GetCfg(_curRarity);
 | 
	
		
			
				|  |  | +                itemsArr = decomposeCfg.itemsArr;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +            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();
 | 
	
		
			
				|  |  |              string ext = ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType, true);
 | 
	
		
			
				|  |  |              item.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg.res, ext);
 | 
	
		
			
				|  |  |              item.target.data = itemCfg;
 | 
	
	
		
			
				|  | @@ -289,7 +335,13 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cfg.consumeId);
 | 
	
		
			
				|  |  |              if (_decomposeCount <= 0)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                PromptController.Instance.ShowFloatTextPrompt("未选择分解服装");
 | 
	
		
			
				|  |  | +                String str = "";
 | 
	
		
			
				|  |  | +                if (_ui.m_c1.selectedIndex == 0)
 | 
	
		
			
				|  |  | +                    str = "未选择分解服装";
 | 
	
		
			
				|  |  | +                else
 | 
	
		
			
				|  |  | +                    str = "未选择分解技能书";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                PromptController.Instance.ShowFloatTextPrompt(str);
 | 
	
		
			
				|  |  |                  return;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              long consumeCount = cfg.consumeCount * _decomposeCount;
 | 
	
	
		
			
				|  | @@ -308,10 +360,6 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                  LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.FU_ZHUANG_FEN_JIE, 2);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        private void OnClickBtnRule()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            ViewManager.Show<ClothingDecomposeRuleView>();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private void OnClickBtnBack()
 | 
	
		
			
				|  |  |          {
 |