UISeasonRewardItemCtr.lua 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. local UISeasonRewardItemCtr = {}
  2. function UISeasonRewardItemCtr:SetData(wnd, item, logicData)
  3. local cfgData = logicData.cfgData
  4. local curId = logicData.curId
  5. local selectedPeriodIdx = logicData.selectedPeriodIdx
  6. local curPeriodIdx = logicData.curPeriodIdx
  7. local hasData = logicData.hasData
  8. local competitionId = logicData.competitionId
  9. CommonUtil.LoadIcon(wnd, cfgData.CompetitionTitleIcon, function (sprite)
  10. item.icon.image.sprite = sprite
  11. end)
  12. if cfgData.LabelIcon then
  13. CommonUtil.LoadIcon(wnd, cfgData.LabelIcon, function (sprite)
  14. item.flag.image.sprite = sprite
  15. end)
  16. end
  17. item.rewardName.text.text = I18N.T(cfgData.CompetitionTitle)
  18. local tips1 = I18N.T("DscSeasonTips5")
  19. if competitionId ~= 1 and competitionId == cfgData.CompetitionCondition[1][1] then --偶像祭特殊显示
  20. local minRank = cfgData.CompetitionCondition[1][2]
  21. local maxRank = cfgData.CompetitionCondition[1][3]
  22. if minRank == maxRank then
  23. item.progress.text.text = I18N.SetLanguageValue("DscSeasonR"..cfgData.CompetitionType,"",I18N.SetLanguageValue("DscSeasonTips6",minRank), tips1)
  24. else
  25. item.progress.text.text = I18N.SetLanguageValue("DscSeasonR"..cfgData.CompetitionType,"",I18N.SetLanguageValue("DscSeasonTips6",minRank).."-"..I18N.SetLanguageValue("DscSeasonTips6",maxRank), tips1)
  26. end
  27. else
  28. item.progress.text.text = cfgData.CompetitionCondition[1][2] > 0 and I18N.SetLanguageValue("DscSeasonR"..cfgData.CompetitionType, I18N.T("DscSeasonTips3"), cfgData.CompetitionCondition[1][2], tips1) or I18N.SetLanguageValue("DscSeasonR"..cfgData.CompetitionId, I18N.T("DscSeasonTips4"), cfgData.CompetitionCondition[1][3], tips1)
  29. end
  30. --item.cornerMark:SetActive(cfgData.Id == curId)
  31. item.cornerMark:SetActive(hasData and cfgData.Id == curId and selectedPeriodIdx >= curPeriodIdx)
  32. item.rewarded:SetActive(hasData and cfgData.Id == curId and selectedPeriodIdx < curPeriodIdx)
  33. local list = cfgData["CompetitionReward"..selectedPeriodIdx]
  34. CommonUtil.LoopGridViewEleCreateNew(wnd, item.scrollView.loopHorizontalScrollRect, item.content.gridLayoutGroup, list, 0, nil, function (itemLua, idx)
  35. local data = {cfgId = list[idx + 1][1], num = list[idx + 1][2]}
  36. CommonUtil.UpdateItemPrefab(wnd, itemLua, data, Enum.ItemIEnterType.Bag, wnd, wnd.ShowItemTips)
  37. end)
  38. end
  39. return UISeasonRewardItemCtr