ArcWeapActivityInfo.lua 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. ---@class ArcWeapActivityInfo
  2. ArcWeapActivityInfo = class()
  3. local this = ArcWeapActivityInfo
  4. function this:ctor()
  5. end
  6. function this:Reset()
  7. end
  8. function this:Init()
  9. self:InitData()
  10. self:RegistMessages()
  11. end
  12. function this:InitData()
  13. self.arcWeapGroup = 0 --当前大天使武器轮数
  14. self.arcWeapSmallGiftDataTbl = {} --大天使武器任务数据
  15. self.arcWeapBigGiftDataTbl = {} --大天使武器大奖数据
  16. end
  17. function this:RegistMessages()
  18. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_ANGEL_WEAPON_TASK_CHANGE,self.RefreshArcWeapData,self)
  19. end
  20. function this:RefreshArcWeapData(_,msg)
  21. self.arcWeapSmallGiftDataTbl = {}
  22. self.arcWeapBigGiftDataTbl = {}
  23. local data = msg
  24. self.arcWeapGroup = data.taskGroup
  25. for _, v in pairs(data.taskList) do
  26. v.weapCdgData = SL:GetConfig("cfg_activity_angelWeapon",v.id)
  27. if not table.isNullOrEmpty(v.weapCdgData) then
  28. if v.weapCdgData.angelWeaponType == 1 then --小奖
  29. table.insert(self.arcWeapSmallGiftDataTbl,v)
  30. elseif v.weapCdgData.angelWeaponType == 2 then --大奖
  31. table.insert(self.arcWeapBigGiftDataTbl,v)
  32. end
  33. end
  34. end
  35. this:JudgeIsShowArcWeapRedPoint(data.taskList)
  36. SL:onLUAEvent(LUA_ARCWEAPON_ACTIVITY_CHANGE)
  37. end
  38. --判断是否展示大天使武器红点
  39. function this:JudgeIsShowArcWeapRedPoint(msg)
  40. local isShowRedPoint = false
  41. local data = msg
  42. for _, v in pairs(data) do
  43. if v.giftState == E_RechargeState.CanGet then
  44. isShowRedPoint = true
  45. break
  46. end
  47. end
  48. InfoManager.mainActivityInfo:RefreshMainActivityRedPoint("tog_ArcWeapActivity",isShowRedPoint)
  49. end