源战役客户端
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

179 líneas
5.3 KiB

  1. GetPicItem = GetPicItem or BaseClass(BaseItem)
  2. local GetPicItem = GetPicItem
  3. function GetPicItem:__init()
  4. self.base_file = "common"
  5. self.layout_file = "GetGoodsItem"
  6. self.is_delay_callback = true
  7. self.can_go = true
  8. self.model = ComposeModel:getInstance()
  9. self.need_refresh = false
  10. self:Load()
  11. end
  12. function GetPicItem:__delete()
  13. if self.icon_item then
  14. self.icon_item:DeleteMe()
  15. self.icon_item = nil
  16. end
  17. end
  18. function GetPicItem:Load_callback()
  19. self.icon = self:GetChild("icon"):GetComponent("Image")
  20. self.icon_trans = self:GetChild("icon").transform
  21. --self.bg = self:GetChild("bg"):GetComponent("Image")
  22. self.name = self:GetChild("desc/name"):GetComponent("Text")
  23. self.hint = self:GetChild("desc/hint"):GetComponent("Text")
  24. self.level = self:GetChild("level"):GetComponent("Text")
  25. self.go = self:GetChild("go").gameObject
  26. self.mask = self:GetChild("mask").gameObject
  27. self.recommend = self:GetChild("recommend").gameObject
  28. self.click = self:GetChild("click").gameObject
  29. self:InitEvent()
  30. if self.need_refresh then
  31. self:SetData(self.data, self.pic_id, self.callback)
  32. end
  33. end
  34. function GetPicItem:InitEvent()
  35. local function onBtnClickHandler(target)
  36. if target == self.click then
  37. self:GoFunc()
  38. end
  39. end
  40. AddClickEvent(self.click, onBtnClickHandler)
  41. end
  42. function GetPicItem:GoFunc()
  43. if self.data[1] == "331" then
  44. Message.show("请关注开启的各种精彩活动哦")
  45. else
  46. if self.can_go then
  47. GlobalEventSystem:Fire(EventName.CLOSE_ALL_VIEW)
  48. if self.data[1] == "132" then --野外挂机
  49. self:FindWay()
  50. elseif self.data[1] == "153" then --商城
  51. local parm_1, parm_2
  52. if self.data[2] == "6" then
  53. parm_1 = 5
  54. parm_2 = self.type_id
  55. elseif self.data[2] == "7" then
  56. parm_1 = self.type_id
  57. parm_2 = 1
  58. else
  59. parm_1 = tonumber(self.data[2])
  60. parm_2 = self.type_id
  61. end
  62. -- parm_2 = self.type_id
  63. OpenFun.Open(self.data[1], self.data[2], parm_1, parm_2)
  64. elseif self.data[1] == "150" then
  65. local parm_1, parm_2
  66. if self.data[2] == "1" then
  67. -- parm_1 = ComposeModel.ComposePanelID.UPGRADE_ITEM
  68. elseif self.data[2] == "2" then
  69. parm_1 = ComposeModel.ComposePanelID.GOODS_JEWEL
  70. elseif self.data[2] == "3" then
  71. parm_1 = ComposeModel.ComposePanelID.GOODS_ITEM
  72. elseif self.data[2] == "4" then
  73. parm_1 = ComposeModel.ComposePanelID.GOODS_SUIT
  74. elseif self.data[2] == "5" then
  75. parm_1 = ComposeModel.ComposePanelID.UPGRADE_ITEM
  76. end
  77. parm_2 = Config.Goodscomposeindex[self.type_id].target_id
  78. OpenFun.Open(self.data[1], self.data[2], parm_1, parm_2)
  79. else
  80. OpenFun.Open(self.data[1], self.data[2])
  81. end
  82. if self.callback then
  83. self.callback()
  84. end
  85. else
  86. Message.show("等级不足,快去升级吧!")
  87. end
  88. end
  89. end
  90. function GetPicItem:SetData(data, pic_id, callback)
  91. self.data = data
  92. self.pic_id = pic_id
  93. self.callback = callback
  94. if not self.data then return end
  95. if self.is_loaded then
  96. local main = tonumber(self.data[1])
  97. local sub = tonumber(self.data[2])
  98. local priority = self.data[3] == 1 and true or false
  99. if main == 132 then --野外挂机
  100. local cfg = Config.Ac["132@0@1"]
  101. self.recommend:SetActive(priority)
  102. self.name.text = Trim(cfg.ac_name)
  103. lua_resM:setOutsideImageSprite(self, self.icon, GameResPath.GetDailyImage(Trim(cfg.ac_icon)), true)
  104. else
  105. local cfg = OpenFun.GetFunCfg(main, sub)
  106. if cfg then
  107. self.recommend:SetActive(priority)
  108. self.name.text = cfg.name
  109. local call_back = function( objs )
  110. if not objs or not objs[0] then
  111. lua_resM:setOutsideImageSprite(self,self.icon,GameResPath.GetDailyImage(cfg.icon_res),true)
  112. end
  113. end
  114. local asset = cfg.icon_asset or "activityIcon_asset"
  115. lua_resM:setImageSprite(self,self.icon,asset,cfg.icon_res, cfg.bool_fit,call_back)
  116. if self.data[1] == "331" then --活动
  117. self.hint.gameObject:SetActive(true)
  118. self.hint.text = "请关注"..cfg.name.."的开启哦!"
  119. self.go:SetActive(false)
  120. self.level.text = ""
  121. else
  122. self.hint.gameObject:SetActive(false)
  123. if RoleManager.Instance.mainRoleInfo.level < cfg.openLv then
  124. self:SetState(false)
  125. self.level.text = "<color="..ColorUtil.RED..">"..cfg.openLv.."级开启</color>"
  126. else
  127. self:SetState(true)
  128. self.level.text = ""
  129. end
  130. end
  131. end
  132. end
  133. else
  134. self.need_refresh = true
  135. end
  136. end
  137. function GetPicItem:SetState(bool)
  138. self.can_go = bool
  139. self.mask:SetActive(not bool)
  140. self.go:SetActive(bool)
  141. end
  142. function GetPicItem:FindWay()
  143. local onHookData = DailyModel:getInstance():GetOnhookConfig()
  144. if onHookData then
  145. local scene_id = tonumber(onHookData.scene_id)
  146. local pointList = ErlangParser:GetInstance():Parse(onHookData.xy)
  147. local index = math.random(1, #pointList)
  148. local randomPoint = pointList[index]
  149. local x = tonumber(randomPoint[1])
  150. local y = tonumber(randomPoint[2])
  151. local call_back = function ()
  152. GlobalEventSystem:Fire(EventName.STARTAUTOFIGHT)
  153. end
  154. local findVo = FindVo.New()
  155. findVo.type = FindVo.POINT
  156. findVo.sceneId = scene_id
  157. findVo.x = x / SceneObj.LogicRealRatio.x
  158. findVo.y = y / SceneObj.LogicRealRatio.y
  159. findVo.call_back = call_back
  160. GlobalEventSystem:Fire(EventName.STOPAUTOFIGHT)
  161. Scene.Instance:FindElement(findVo)
  162. end
  163. end