SignRewardItemCtr.lua 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. local SignRewardItemCtr = {}
  2. local IconItemCtr = require("Common/IconItemCtr")
  3. function SignRewardItemCtr:SetData(wnd, item, logicData, enterType, onClickOwner, onClickCB)
  4. if not logicData then
  5. return
  6. end
  7. local idx = logicData.idx
  8. local cfgData = logicData.cfgData
  9. local canSignToday = logicData.canSignToday
  10. local enterType = logicData.enterType or 0
  11. local signDays = logicData.signDays or 0
  12. local reward = cfgData.SignInReward and cfgData.SignInReward[1] or nil
  13. local vipLevel = cfgData.VipLevel
  14. local canSignDay = 0
  15. local curSignedDay = 0
  16. if enterType == 0 then --默认每日签到
  17. canSignDay = ManagerContainer.DataMgr.SignData:GetCanSignDay()
  18. curSignedDay = ManagerContainer.DataMgr.SignData:GetCurSignedDay()
  19. elseif enterType == 1 then --暑期活动签到
  20. canSignDay = canSignToday and signDays + 1 or signDays
  21. curSignedDay = signDays
  22. end
  23. item.dayTxt.text.text = I18N.SetLanguageValue("SignInTips1", idx)
  24. if reward then
  25. local data = {cfgId = reward[1], num = reward[2], vip = vipLevel}
  26. IconItemCtr:SetData(wnd, item.iconItem, data, Enum.ItemIEnterType.Bag)
  27. end
  28. item.gotRewardNode:SetActive(cfgData.ID <= curSignedDay)
  29. item.uIRedPointRP:SetActive(canSignToday and cfgData.ID == canSignDay)
  30. if onClickOwner and onClickCB then
  31. item.iconItem.bg.button.enabled = true
  32. onClickOwner.uiBase:AddButtonUniqueEventListener(item.iconItem.bg.button, onClickOwner, onClickCB, cfgData)
  33. else
  34. item.iconItem.bg.button.enabled = false
  35. end
  36. end
  37. return SignRewardItemCtr