|
@@ -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()
|
|
|
{
|