You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

174 lines
6.2 KiB

  1. local DEEP_COL1 = cc.c3b(0xff, 0xff, 0xff)
  2. local BG_W = 564
  3. local scheduler = require("luaScript.ModuleEapSdk.SdkSocket.scheduler")
  4. local BaseLayer = require("luaScript.ModuleEapSdk.BaseLayers.BaseLayer")
  5. local LayerFree = EapClass("LayerFree", BaseLayer)
  6. function LayerFree.createWithData(__node, __zorder)
  7. local layer = LayerFree.new()
  8. layer.m_parent = __node
  9. __node:addChild(layer, __zorder)
  10. return layer
  11. end
  12. function LayerFree:myShow()
  13. -- self:addListener(true)
  14. self:initUI()
  15. end
  16. function LayerFree:myClose()
  17. if self.m_schIDCDTime then
  18. scheduler.unscheduleGlobal(self.m_schIDCDTime)
  19. end
  20. end
  21. function LayerFree:initUI()
  22. self.imgPath = {
  23. "res/ModuleEapSdk/eapsdk_img_null.png",
  24. "res/ModuleEapSdk/eapsdk_public_back_bg2.png",
  25. "res/ModuleEapSdk/eapsdk_public_back_bg3.png",
  26. "res/ModuleEapSdk/eapsdk_bg_bj_sp1.png",
  27. "res/ModuleEapSdk/eapsdk_bt_xb_sp.png", --5
  28. "res/ModuleEapSdk/Eap_Score/eapsdk_img_title.png",
  29. "res/ModuleEapSdk/eapsdk_wj_icon_question.png",
  30. "res/ModuleEapSdk/Eap_Score/eapsdk_btn_actScore.png",
  31. "res/ModuleEapSdk/eapsdk_wj_img_adv.png",
  32. "res/ModuleEapSdk/eapsdk_wj_icon_question_off.png", --赛事规则off --10
  33. "res/ModuleEapSdk/eapsdk_img_timeBG.png",
  34. "res/ModuleEapSdk/eapsdk_public_img_dots.png",
  35. }
  36. local fix_x = display.width
  37. local fix_y = display.cy
  38. local imgBack2 = G_EapAbbreviation.createImageView(self.imgPath[1], self, cc.p(fix_x, fix_y+45), true, 2, 2101, cc.p(1, 0.5))
  39. imgBack2:setSize(cc.size(BG_W, 510))
  40. self.imgBack2 = imgBack2
  41. -- --赛事宣传图
  42. -- self.imgBanner = G_EapAbbreviation.createImageView(self.imgPath[9], imgBack2, cc.p(BG_W/2, 200))
  43. -- self.imgBanner:setScale(0.6)
  44. self.imgDots = G_EapAbbreviation.createImageView(self.imgPath[12], imgBack2, cc.p(BG_W/2+200, 70), false, 2)
  45. self.imgDots:setScale(0.6)
  46. self.imgTime = G_EapAbbreviation.createImageView(self.imgPath[11], imgBack2, cc.p(BG_W/2, 355))
  47. self.imgTime:setScale(0.6)
  48. self.lblCDTime1 = G_EapAbbreviation.createSystemLabel(imgBack2, cc.p(BG_W/2-27, 355), "00", 22, DEEP_COL1)
  49. self.lblCDTime2 = G_EapAbbreviation.createSystemLabel(imgBack2, cc.p(BG_W/2+27, 355), "00", 22, DEEP_COL1)
  50. self.lblCDTime3 = G_EapAbbreviation.createSystemLabel(imgBack2, cc.p(BG_W/2+100, 355), "00", 22, cc.c3b(0x0b, 0x2d, 0x67))
  51. self.btnDes = ccui.ImageView:create(self.imgPath[10])
  52. self.btnDes:setPosition(cc.p(62, 410))
  53. self.btnDes:setScale(0.6)
  54. imgBack2:addChild(self.btnDes)
  55. addButtonListener(self.btnDes, function()
  56. print("LayerMatch btnDes clicked === ")
  57. if G_LayerMain:isSubLayerVis(LAYER_ENUM.LAYER_RULE) then
  58. G_LayerMain:closeSubLayer(LAYER_ENUM.LAYER_RULE)
  59. self.btnDes:loadTexture(self.imgPath[10])
  60. else
  61. for k,v in pairs(G_EapSdkMgr.m_matchInfos) do
  62. local matchID = k
  63. if not G_EapSdkMgr.m_matchRule and matchID then
  64. G_EapSocketLogin.request_matchRuleGet(matchID)
  65. end
  66. break
  67. end
  68. G_LayerMain:showSubLayer(LAYER_ENUM.LAYER_RULE)
  69. self.btnDes:loadTexture(self.imgPath[7])
  70. end
  71. end)
  72. --报名参赛
  73. self.btnJion = ccui.Button:create(self.imgPath[8])
  74. self.btnJion:setPosition(cc.p(BG_W/2, 30))
  75. self.btnJion:setScale(0.6)
  76. imgBack2:addChild(self.btnJion)
  77. addButtonListener(self.btnJion, function()
  78. G_EapSdkMgr.m_firstLogin = false
  79. G_EapSocketLogin.request_markLog(MARK_LOG10013)
  80. G_EapSdkMgr:setClickEnter(1)
  81. G_LayerMain:showLayer(LAYER_ENUM.LAYER_MATCH)
  82. end)
  83. self:refreshIcon()
  84. self:initCDTime()
  85. end
  86. function LayerFree:initCDTime()
  87. local endTime = 0
  88. local startTime = 0
  89. for k,v in pairs(G_EapSdkMgr.m_allMatchs) do
  90. local matchtime = v.MatchTime
  91. endTime = matchtime.TimeEnd
  92. startTime = matchtime.TimeStart
  93. break
  94. end
  95. local cdStr = ""
  96. local curTime = os.time()
  97. if curTime < startTime then
  98. cdStr = GetCountDownTime(startTime)
  99. else
  100. cdStr = GetCountDownTime(endTime)
  101. end
  102. local timeArr = string.split(cdStr, ":")
  103. for i=1, 3 do
  104. self["lblCDTime"..i]:setString(timeArr[i])
  105. end
  106. self.m_schIDCDTime = scheduler.scheduleGlobal(function()
  107. local curTime = os.time()
  108. if curTime >= endTime and self.m_schIDCDTime then
  109. scheduler.unscheduleGlobal(self.m_schIDCDTime)
  110. return
  111. end
  112. local cdStr = ""
  113. local curTime = os.time()
  114. if curTime < startTime then
  115. cdStr = GetCountDownTime(startTime)
  116. else
  117. cdStr = GetCountDownTime(endTime)
  118. end
  119. local timeArr = string.split(cdStr, ":")
  120. for i=1, 3 do
  121. self["lblCDTime"..i]:setString(timeArr[i])
  122. end
  123. end, 60)
  124. end
  125. function LayerFree:refreshIcon()
  126. local iconInfo1005 = G_EapSdkMgr:getIconInfo(CONFIG_IMG_1005) --赛事宣传图
  127. if iconInfo1005 then
  128. -- local url = iconInfo1005.paths[1]
  129. -- local saveName = iconInfo1005.categoryId..tostring(iconInfo1005.updateTime)
  130. -- getUserImage(url, saveName, self.imgBanner, cc.size(478, 304))
  131. local imgBannerArr = {}
  132. local imgLen = #iconInfo1005.paths
  133. for i=1, imgLen do
  134. local url = iconInfo1005.paths[i]
  135. local imgBanner = G_EapAbbreviation.createImageView(self.imgPath[9], self.imgBack2, cc.p(BG_W/2, 200))
  136. imgBanner:setScale(0.6)
  137. if i == 1 then
  138. imgBanner:setVisible(true)
  139. else
  140. imgBanner:setVisible(false)
  141. end
  142. imgBannerArr[#imgBannerArr + 1] = imgBanner
  143. local saveName = tostring(iconInfo1005.categoryId).."_"..i..tostring(iconInfo1005.updateTime)
  144. getUserImage(url, saveName, imgBanner, cc.size(478, 304))
  145. addButtonListener(imgBanner, function()
  146. imgBanner:setVisible(false)
  147. local next = i+1
  148. if next > imgLen then
  149. next = 1
  150. end
  151. imgBannerArr[next]:setVisible(true)
  152. end)
  153. end
  154. end
  155. end
  156. return LayerFree