UIActivityGoddessCtr.lua 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. local UIActivityGoddessCtr = class("UIActivityGoddessCtr", require("UICtrBase"))
  2. function UIActivityGoddessCtr:Init(view)
  3. self.view = view
  4. end
  5. function UIActivityGoddessCtr:SetData(data)
  6. self.asyncIdx = 0
  7. if data == nil then return end
  8. self.data = data
  9. end
  10. function UIActivityGoddessCtr:GetAsyncIdx()
  11. self.asyncIdx = self.asyncIdx + 1
  12. return self.asyncIdx
  13. end
  14. function UIActivityGoddessCtr:GetData()
  15. return self.data
  16. end
  17. function UIActivityGoddessCtr:OnDispose()
  18. self.data = nil
  19. self.view = nil
  20. self.activityData = nil
  21. self.lastSendReq = nil
  22. end
  23. function UIActivityGoddessCtr:InitData()
  24. local actId = self:GetActId()
  25. self.activityData = ManagerContainer.DataMgr.ActsDataMgr:GetActivityItemById(actId)
  26. LogError("重新 獲取 活動數據!!!!!!!!!")
  27. end
  28. function UIActivityGoddessCtr:GetActId()
  29. return self.data.actId
  30. end
  31. function UIActivityGoddessCtr:GetBg()
  32. return self.data.pageBg
  33. end
  34. function UIActivityGoddessCtr:GetActivityData()
  35. --LogError(" view ======= 獲取 活動數據!!!!!!!!!"..Inspect(self.activityData))
  36. return self.activityData
  37. end
  38. function UIActivityGoddessCtr:SendGiveLikabilityReq(id, itemCfgId, lv)
  39. if not self.activityData then
  40. return 551
  41. end
  42. if self.lastSendReq and (ManagerContainer.LuaTimerMgr:GetTimeSecond() - self.lastSendReq) < 0.1 then
  43. return 0
  44. end
  45. local actId = self:GetActId()
  46. local cfgDatas = ManagerContainer.CfgMgr:GetActivityGoddessGiftCfgByActId(actId)
  47. if not cfgDatas then
  48. return 551
  49. end
  50. local cfgData = cfgDatas[id]
  51. if not cfgData or cfgData.Classitemid ~= itemCfgId then
  52. return 551
  53. end
  54. local curLoveLv = self.activityData:GetCurLoveLv()
  55. local loveCfgData = ManagerContainer.CfgMgr:GetActivityGoddessLoveCfgByLv(actId, curLoveLv)
  56. if not loveCfgData or not loveCfgData.LikeMax or loveCfgData.LikeMax <= 0 then
  57. return 'LikeLevelMaxTips'
  58. end
  59. local curLoveVal = self.activityData:GetCurLoveVal()
  60. if loveCfgData.LikeMax <= curLoveVal then
  61. return 'LikeLevelMaxTips'
  62. end
  63. local giveGift = cfgData.Classcostaddlike[lv]
  64. if not giveGift then
  65. return 551
  66. end
  67. local ownerNum = CommonUtil.GetOwnResCountByItemId(itemCfgId)
  68. if ownerNum < giveGift[1] then
  69. return 'ItemNotEnoughDefault'
  70. end
  71. self.lastSendReq = ManagerContainer.LuaTimerMgr:GetTimeSecond()
  72. local actId = self:GetActId()
  73. ManagerContainer.DataMgr.ActsDataMgr:SendGiveLikabilityReq(actId, itemCfgId, lv)
  74. return 0
  75. end
  76. return UIActivityGoddessCtr