UIActivityChipRewardPetExchangeCtr.lua 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. local UIActivityChipRewardPetExchangeCtr = class("UIActivityChipRewardPetExchangeCtr", require("UICtrBase"))
  2. function UIActivityChipRewardPetExchangeCtr:Init(view)
  3. self.view = view
  4. end
  5. function UIActivityChipRewardPetExchangeCtr:SetData(data)
  6. self.asyncIdx = 0
  7. if data == nil then return end
  8. self.data = data
  9. end
  10. function UIActivityChipRewardPetExchangeCtr:GetAsyncIdx()
  11. self.asyncIdx = self.asyncIdx + 1
  12. return self.asyncIdx
  13. end
  14. function UIActivityChipRewardPetExchangeCtr:GetData()
  15. return self.data
  16. end
  17. function UIActivityChipRewardPetExchangeCtr:GetRuleKey()
  18. return self.activityData and self.activityData.infoLangKey ~= '' and self.activityData.infoLangKey or "notconfiguration"
  19. end
  20. function UIActivityChipRewardPetExchangeCtr:GetActId()
  21. return self.data.actId
  22. end
  23. function UIActivityChipRewardPetExchangeCtr:GetShowListByItemTypeAndFiltrList(itemType,filtrList)
  24. local list = {}
  25. if itemType == Enum.ItemType.Item or itemType == Enum.ItemType.Gift then
  26. local datas = ManagerContainer.DataMgr.BagData:GetAllItemDatas()
  27. for i = 1, #filtrList do
  28. local itemId = datas[filtrList[i]]
  29. for _,v in pairs(datas) do
  30. if v.cfgId == itemId and v.num > 0 then
  31. table.insert(list, CommonUtil.TableClone(v))
  32. break
  33. end
  34. end
  35. end
  36. --CommonUtil.ArraySortSelections(list, Enum.TableSortRule.Down, "CardType", "CardLevel", "cfgId")
  37. elseif itemType == Enum.ItemType.Card then
  38. local datas = ManagerContainer.DataMgr.CardData:GetAllCardDataMap()
  39. for i = 1, #filtrList do
  40. local data = datas[filtrList[i]]
  41. if data and data.num > 0 then
  42. table.insert(list, CommonUtil.TableClone(data))
  43. end
  44. end
  45. CommonUtil.ArraySortSelections(list, Enum.TableSortRule.Down, "CardType", "CardLevel", "cfgId")
  46. elseif itemType == Enum.ItemType.Equip then
  47. local datas = ManagerContainer.DataMgr.EquipData:GetAllEquipDataMap()
  48. for i = 1, #filtrList do
  49. local data = datas[filtrList[i]]
  50. if data and data.num > 0 then
  51. table.insert(list, CommonUtil.TableClone(data))
  52. end
  53. end
  54. --CommonUtil.ArraySortSelections(list, Enum.TableSortRule.Down, "CardType", "CardLevel", "cfgId")
  55. end
  56. return list
  57. end
  58. function UIActivityChipRewardPetExchangeCtr:GetShowListByItemTypeAndId(itemType,itemId)
  59. local list = {}
  60. if itemType == Enum.ItemType.Item or itemType == Enum.ItemType.Gift then
  61. local datas = ManagerContainer.DataMgr.BagData:GetAllItemDatas()
  62. for _,v in pairs(datas) do
  63. if v.cfgId == itemId and v.num > 0 then
  64. table.insert(list, CommonUtil.TableClone(v))
  65. break
  66. end
  67. end
  68. elseif itemType == Enum.ItemType.Card then
  69. local datas = ManagerContainer.DataMgr.CardData:GetAllCardDataMap()
  70. local data = datas[itemId]
  71. if data and data.num > 0 then
  72. table.insert(list, CommonUtil.TableClone(data))
  73. end
  74. elseif itemType == Enum.ItemType.Equip then
  75. local datas = ManagerContainer.DataMgr.EquipData:GetAllEquipDataMap()
  76. local data = datas[itemId]
  77. if data and data.num > 0 then
  78. table.insert(list, CommonUtil.TableClone(data))
  79. end
  80. end
  81. return list
  82. end
  83. function UIActivityChipRewardPetExchangeCtr:RefreshChipDatas()
  84. local actId = self:GetActId()
  85. self.activityData = ManagerContainer.DataMgr.ActsDataMgr:GetActivityItemById(actId)
  86. end
  87. function UIActivityChipRewardPetExchangeCtr:GetRemainTime(id)
  88. return self.activityData:LeftTime()
  89. end
  90. function UIActivityChipRewardPetExchangeCtr:GetIndexByCfgId(id)
  91. local List = self.activityData.data
  92. for i = 1, #List do
  93. if List[i].cfgId == id then
  94. return i
  95. end
  96. end
  97. return 0
  98. end
  99. function UIActivityChipRewardPetExchangeCtr:GetChipShowDataByIdx(idx)
  100. return self.activityData.data[idx + 1]
  101. end
  102. function UIActivityChipRewardPetExchangeCtr:GetGlobalCount(id)
  103. return self.activityData:GetGlobalCount(id)
  104. end
  105. function UIActivityChipRewardPetExchangeCtr:GetChipDataLength()
  106. return #self.activityData.data
  107. end
  108. function UIActivityChipRewardPetExchangeCtr:SendGetActivityRewardReq(idx,data)
  109. ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_ACTIVITIES_EXCHANGE_REQ,{reward_idx = idx,activity_id = self:GetActId(),data = data})
  110. end
  111. function UIActivityChipRewardPetExchangeCtr:OnDispose()
  112. self.data = nil
  113. self.view = nil
  114. self.activityData = nil
  115. end
  116. return UIActivityChipRewardPetExchangeCtr