local UIClimbTowerReward = UIViewClass() function UIClimbTowerReward:OnOpened(context) UIUtils.SetLabelText(self.UICommonPopUp.txt_Title, Const_IDS["IDS_RewardPreview"]) self.nationTowerID = context and context.nationTowerID if GameAppInfo.IsJapanesePackage() and self.nationTowerID == nil then self.state:SetState(0) else self.state:SetState(1) end self:RefreshInfo() end function UIClimbTowerReward:RefreshInfo() if self.nationTowerID then self.chapterConfig = MDL.NationClimbTower.GetTowerConfigData(self.nationTowerID) self.loop_CTReward:ReloadAll(MDL.NationClimbTower.GetLevelDataPreview(self.nationTowerID)) else if GameAppInfo.IsJapanesePackage() then self.loop_CTRewardJP:ReloadAll(MDL.ClimbTower.GetLevelDataPreview()) else self.loop_CTReward:ReloadAll(MDL.ClimbTower.GetLevelDataPreview()) end end end function UIClimbTowerReward:OnCellInit(scrollRect, index, cellTable, data) local rewards if self.nationTowerID then UIUtils.SetLabel(cellTable.txt_Name, string.FormatByIdsId(Const_IDS["IDS_NationClimbTower_HistoryLevel"], data.Config.Number)) UIUtils.SetActive(cellTable.group_Get, data.MaxLv >= data.Config.Number) rewards = DataSheetManager.NationClimbTowerRewardRepeat:GetDataByAttrRepeatID(data.Config.LevelRewardRepeatID).Item_Table else UIUtils.SetLabelText(cellTable.txt_Name, Const_IDS[data.LevelName]) UIUtils.SetActive(cellTable.group_Get, data.ID <= MDL.ClimbTower.GetPassFarthestId()) rewards = DataSheetManager.ClimbTowerRewardRepeat:GetDataByAttrRepeatID(data.LevelRewardRepeatID).Item_Table if GameAppInfo.IsJapanesePackage() then local specialData = DataSheetManager.ClimbTowerLevelSpecialReward:GetDataByID(data.ID) if specialData then local cfg = DataSheetManager.RewardClientShow:GetDataByClientShowID(specialData.SpecialRewardShow) local reward = DataSheetUtil.GetRewardClientShowItemTable(cfg) for i = 1, #cellTable.itemGroup2 do UIUtils.SetActive(cellTable.itemGroup2[i].gameObject.transform.parent, reward[i] ~= nil) if reward[i] then cellTable.itemGroup2[i].ItemID = reward[i].ItemID UTL.Item.SetItemCell(cellTable.itemGroup2[i], reward[i].ItemID, reward[i].ItemNum) end end else for i = 1, #cellTable.itemGroup2 do UIUtils.SetActive(cellTable.itemGroup2[i].gameObject.transform.parent, false) end end end end for i = 1, #cellTable.itemGroup do UIUtils.SetActive(cellTable.itemGroup[i].gameObject, rewards[i] ~= nil) if rewards[i] then UTL.Item.SetItemCell(cellTable.itemGroup[i], rewards[i].ItemID, rewards[i].ItemNum) end end end function UIClimbTowerReward:OnCellClicked(scrollRect, index, cellTable, target, data) local rewards if self.nationTowerID then rewards = DataSheetManager.NationClimbTowerRewardRepeat:GetDataByAttrRepeatID(data.Config.LevelRewardRepeatID).Item_Table else rewards = DataSheetManager.ClimbTowerRewardRepeat:GetDataByAttrRepeatID(data.LevelRewardRepeatID).Item_Table end for i = 1, #cellTable.itemGroup do if target == cellTable.itemGroup[i].event_Click then UTL.ItemTips.ShowCommonTipsById(rewards[i].ItemID) return end end if GameAppInfo.IsJapanesePackage() then for i = 1, #cellTable.itemGroup2 do if target == cellTable.itemGroup2[i].event_Click then UTL.ItemTips.ShowCommonTipsById(cellTable.itemGroup2[i].ItemID) return end end end end function UIClimbTowerReward:OnBackButtonPressed() self:OnButtonClicked(self.UICommonPopUp.btn_Close) end function UIClimbTowerReward:OnButtonClicked(comp) if comp == self.UICommonPopUp.btn_Close then self:CloseView() end end return UIClimbTowerReward