local UITurntableTotal = UIViewClass() local function SortByState(a, b) local hasReward_a = MDL.Turntable.HasGetReward(a.ID) local hasReward_b = MDL.Turntable.HasGetReward(b.ID) if hasReward_a == hasReward_b then return a.ID < b.ID end return hasReward_b end function UITurntableTotal:OnOpened(context) UIUtils.SetLabelText(self.lab_Title, Const_IDS.IDS_Turntable_AddUpReward) self:UpdateRewards() end function UITurntableTotal:UpdateRewards() self.infoList = {} for i, data in MDL.OperationActivity.TurntableTotalAward:GetEnumeratorByActivityID(MDL.Turntable.GetActivityId()) do table.insert(self.infoList, data) end table.sort(self.infoList, SortByState) self.loop_RewardList:ReloadAll(self.infoList) end function UITurntableTotal:OnCellInit(scrollRect, index, cellTable, data) if scrollRect == self.loop_RewardList then local targetNum = data.TotalTimes UIUtils.SetLabel(cellTable.txt_CumulativeRecruitment, string.FormatByIdsId(Const_IDS.IDS_Turntable_DrawNum, targetNum)) local curNum = MDL.Turntable.GetDrawTimes() if curNum >= targetNum then UIUtils.SetLabel(cellTable.txt_RecruitNum, string.format("(%s/%s)", UTL.Color.FormatGreenColor(targetNum), targetNum)) if MDL.Turntable.HasGetReward(data.ID) then cellTable.state_Reward:SetState(2) else cellTable.state_Reward:SetState(1) end else UIUtils.SetLabel(cellTable.txt_RecruitNum, string.format("(%s/%s)", curNum, targetNum)) cellTable.state_Reward:SetState(0) end for i, v in ipairs(cellTable.group_Item) do if data.Reward_Table[i] then UIUtils.SetActive(v.gameObject, true) UTL.Item.SetItemCell(v, data.Reward_Table[i].RewardID, data.Reward_Table[i].RewardNum) else UIUtils.SetActive(v.gameObject, false) end end end end function UITurntableTotal:OnCellClicked(scrollRect, index, cellTable, target, data) if scrollRect == self.loop_RewardList then for i, v in ipairs(cellTable.group_Item) do if v.event_Click == target then UTL.ItemTips.ShowCommonTipsById(data.Reward_Table[i].RewardID) break end end end end function UITurntableTotal:OnButtonClicked(comp) if comp == self.btn_Close then self:CloseView() end end function UITurntableTotal:OnBackButtonPressed() self:OnButtonClicked(self.btn_Close) end return UITurntableTotal