local UISyncFourCountryWarReward = UIViewClass() function UISyncFourCountryWarReward:OnOpened(context) self.compToItemId = {} self.myRank = context.myRank self.loop_LeftRewardTab:AddData(Const_IDS.IDS_SyncFourCountry_SingleGameReward, 0) self.loop_LeftRewardTab:AddData(Const_IDS.IDS_GVGFight_Reward_Tab1, 0) self.loop_LeftRewardTab:SelectIndex(0) end function UISyncFourCountryWarReward:OnButtonClicked(comp) if comp == self.btn_Close then self:CloseView() end end function UISyncFourCountryWarReward:OnCellInit(scrollRect, index, cellTable, data) if scrollRect == self.loop_LeftRewardTab then UIUtils.SetLabelText(cellTable.txt_UnselectedTabName, data) UIUtils.SetLabelText(cellTable.txt_SelectedTabName, data) else local rewardTable = DataSheetManager.SyncFourCountryRewardRepeat:GetDataByID(data.RewardRepeat).Item_Table for i, v in ipairs(rewardTable) do if not cellTable.ItemContent[i] then self:InstantiateCellCollection(cellTable.cell.gameObject, cellTable.ItemContent, self.itemTemplate_Reward.gameObject) end UTL.Item.SetItemCell(cellTable.ItemContent[i].item, v.ItemID, v.ItemNum) cellTable.ItemContent[i].gameObject:SetActive(true) self.compToItemId[cellTable.ItemContent[i].item.event_Click] = v.ItemID end for i = #rewardTable + 1, #cellTable.ItemContent do cellTable.ItemContent[i].gameObject:SetActive(false) end if data.Rank or data.RankFront == data.RankRear then cellTable.txt_Rank.text = string.FormatByIdsId(Const_IDS.IDS_DemonGod_UI_37, data.RankFront or data.Rank) elseif data.RankFront > 0 and data.RankRear == 0 then cellTable.txt_Rank.text = string.FormatByIdsId(Const_IDS.IDS_DemonGod_UI_39, data.RankFront) else cellTable.txt_Rank.text = string.FormatByIdsId(Const_IDS.IDS_BossChallenge_Reward_RankRange_TwoNum, data.RankFront, data.RankRear) end if data.RankFront and data.RankFront then if data.RankFront > 0 and data.RankRear == 0 and data.RankFront <= self.myRank then UIUtils.SetActive(cellTable.group_Now, true) else UIUtils.SetActive(cellTable.group_Now, data.RankFront <= self.myRank and data.RankRear >= self.myRank) end else UIUtils.SetActive(cellTable.group_Now, false) end if data.Honor then cellTable.UIState_Tab:SetState(1) if data.Honor > 0 then cellTable.txt_Experience.text = "+" .. data.Honor UIUtils.SetActive(cellTable.group_Experience, true) else UIUtils.SetActive(cellTable.group_Experience, false) end else cellTable.UIState_Tab:SetState(0) end end end function UISyncFourCountryWarReward:OnCellClicked(scrollRect, index, cellTable, target, data) if scrollRect == self.loop_LeftRewardTab then self.loop_FTReward:ClearCells() if index == 0 then for _, data in DataSheetManager.SyncFourCountryOneMatchReward:GetEnumerator() do self.loop_FTReward:AddData(data, 0) end self.txt_Rank.text = string.FormatByIdsId(Const_IDS.IDS_SyncFourCountry_RewardLimitTips, DataSheetManager.ConstData:GetDataByID("SyncFourCountryDailyCurrencyNumMax").IntValue) else for _, data in DataSheetManager.SyncFourCountryTotalRankReward:GetEnumerator() do self.loop_FTReward:AddData(data, 0) end UIUtils.SetLabelText(self.txt_Rank, Const_IDS.IDS_CountryNightBoss_Mail) end else local itemId = self.compToItemId[target] if itemId then UTL.ItemTips.ShowCommonTipsById(itemId) end end end return UISyncFourCountryWarReward