local UIGemUpgradeConfirm = UIViewClass() local EventSystem = require('Event/EventSystem') function UIGemUpgradeConfirm:OnOpened(context) UIUtils.SetLabelText(self.UICommonPopUp.txt_Title, Const_IDS.IDS_Jade_Title_3) self.curItemId = context[1] self.CurEquipType = context[2] self.GemIndex = context[3] self.nextItemID = 0 local ItemDataCfgData = DataSheetManager.ItemData:GetDataByID(self.curItemId) UTL.Item.ItemSquareIcon(self.group_Gem.img_gem, self.group_Gem.bg_Gem, ItemDataCfgData.ID) UIUtils.SetLabel(self.group_Gem.txt_GemName, UTL.Item.GetItemDataSpliceByType(self.curItemId).Name) local curLevel = ItemDataCfgData.ThirdType local maxLevel = MDL.GemCompose.GetGemMaxLevel() local nextLevel = 0 if curLevel + 1 <= maxLevel then nextLevel = curLevel + 1 self.nextItemID = MDL.GemCompose.GetNextGemItem(ItemDataCfgData.FirstType, ItemDataCfgData.SecondType, nextLevel) end local canCompose, costCountDict = MDL.GemCompose.GetComposeConstGemKeyValue(ItemDataCfgData, curLevel, nextLevel) if canCompose then self.CostItem = {} for k, v in pairs(costCountDict) do local itemId = MDL.GemCompose.GetGemBagByLevel(ItemDataCfgData.FirstType, ItemDataCfgData.SecondType, k) if itemId ~= nil and v > 0 then local data = {} data.ID = itemId if itemId == self.curItemId then data.Count = 1 else data.Count = v end table.insert(self.CostItem, data) end end table.sort( self.CostItem, function(a, b) local itemA = DataSheetManager.ItemData:GetDataByID(a.ID) local itemB = DataSheetManager.ItemData:GetDataByID(b.ID) return itemA.ThirdType > itemB.ThirdType end ) if #self.CostItem > 0 then for i=1,#self.CostItem do self.LoopHorizontalScrollRect:AddData(self.CostItem[i], 0) end else logging.error(LTAG.ERROR, "WarnToCompose,but no gem inside", context) self:CloseView() end else logging.error(LTAG.ERROR, "WarnToCompose,but no gem inside", context) self:CloseView() end end function UIGemUpgradeConfirm:OnCellInit(scrollRect, index, cellTable, data) if scrollRect == self.LoopHorizontalScrollRect then local itemData = DataSheetManager.ItemData:GetDataByID(data.ID) local count = data.Count UTL.Item.ItemSquareIcon(cellTable.img_gem, cellTable.bg_Gem, data.ID) cellTable.txt_GemLv.text = string.format(UIUtils.GetLocalizedTxt(Const_IDS.IDS_Jade_QuickUpgrade_5),itemData.ThirdType) cellTable.txt_Num.text = count --数量 end end function UIGemUpgradeConfirm:OnCellClicked(scrollRect, index, cellTable, target, data) --if target == cellTable.##.gameObject then --end end function UIGemUpgradeConfirm:OnBackButtonPressed() self:OnButtonClicked(self.UICommonPopUp.btn_Close) end function UIGemUpgradeConfirm:OnButtonClicked(comp) if comp == self.UICommonPopUp.btn_Close then--共鸣 self:CloseView() elseif comp == self.btn_Upgrade then--合成 if #self.CostItem > 0 then MDL.GemCompose.FastComposeGemReq(self.CostItem, self.curItemId, self.CurEquipType, self.GemIndex, self.nextItemID) self:CloseView() end end end return UIGemUpgradeConfirm