local UIAwakenActivityReward = UIViewClass() function UIAwakenActivityReward:OnOpened(context) for _, v in DataSheetManager.HeroAwakenRankReward:GetDataByHeroID_Rank(context.heroId) do self.loop_Rank:AddData(v, 0) end end function UIAwakenActivityReward:OnCellInit(scrollRect, index, cellTable, data) if scrollRect == self.loop_Rank then local prevCfg = DataSheetManager.HeroAwakenRankReward:GetDataByFirstKeyAndIndex(self.context.heroId, index) if not prevCfg or prevCfg.Rank + 1 == data.Rank then UIUtils.SetLabel(cellTable.txt_Rank, data.Rank) else UIUtils.SetLabel(cellTable.txt_Rank, string.format("%s - %s", prevCfg.Rank + 1, data.Rank)) end local cfg = DataSheetManager.HeroAwakenRankRewardRepeat:GetDataByID(data.RankRewardID) for i, rewardData in ipairs(cfg.Item_Table) do local contentItem = cellTable.group_Items[i] if not contentItem then contentItem = self:InstantiateCollection(cellTable.group_Items, cellTable.group_Items[1]) end UIUtils.SetActive(contentItem.gameObject, true) UTL.Item.SetItemCell(contentItem, rewardData.ItemID, rewardData.ItemNum, false) end for i = #cfg.Item_Table + 1, #cellTable.group_Items do UIUtils.SetActive(cellTable.group_Items[i].gameObject, false) end end end function UIAwakenActivityReward:OnCellClicked(scrollRect, index, cellTable, target, data) for i, v in ipairs(cellTable.group_Items) do if target == v.event_Click then local cfg = DataSheetManager.HeroAwakenRankRewardRepeat:GetDataByID(data.RankRewardID) UTL.ItemTips.ShowCommonTipsById(cfg.Item_Table[i].ItemID) end end end return UIAwakenActivityReward