源战役客户端
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.

192 lines
6.9 KiB

  1. --快乐二级选择界面 有需要可以直接拿来用参数下面有标记的
  2. --[[
  3. {
  4. gold_ab_res = "uiComponent_asset",
  5. gold_res = "ui_momey_icon_1",
  6. nameText = "是否使用 ", -- 在价格文本前
  7. toggleText = "本次登录不再提示",
  8. price = 100,
  9. priceText = "100 扫荡副本", -- 将价格文本也添加在这里面,这个文本介绍包括价格跟目标的购买操作
  10. titleText = "副本扫荡",
  11. close_callback = close_callback,
  12. ok_callback = ok_callback,
  13. gold_goods_id = 100007,
  14. is_complex_ok_callback = false, --如果ok_callback中的货币类型比较复杂,不适用于单彩钻的情况,就需要在自己的ok_callback中判断货币满足情况并把这个参数设为true
  15. toggle_function = toggle_function,--判断是否要重新弹出改界面的方法 一定要传自己的
  16. bg_res = "tips_comm_bg2",
  17. rechanger_callback = --GlobalEventSystem:Fire(EventName.OPEN_VIP_VIEW, 1)
  18. no_need_toggle = true,--不需要toggle
  19. con_pos_y = 20,--文本框高度 con
  20. qc_type = 0, 0(68) 1()
  21. special_icon_data = false,--有些不是货币图标的也要显示就要用以前的老方法了
  22. jump_recharge_callback = jump_recharge_callback,
  23. }
  24. ]]--data数据
  25. uiComToggleTipView = uiComToggleTipView or BaseClass(BaseView)
  26. local uiComToggleTipView = uiComToggleTipView
  27. function uiComToggleTipView:__init()
  28. self.base_file = "uiComponent"
  29. self.layout_file = "uiComToggleTipView"
  30. self.layer_name = "Top"
  31. self.destroy_imm = true
  32. self.use_background = true
  33. self.change_scene_close = true
  34. self.append_to_ctl_queue = false --是否要添加进界面堆栈
  35. self.need_show_money = false --是否要显示顶部的金钱栏
  36. self.is_set_zdepth = true
  37. self.model = BaseDungeonModel:getInstance()
  38. self.reward_item_list = {}
  39. self.is_toggle_on = false
  40. self.load_callback = function ()
  41. self:LoadSuccess()
  42. self:AddEvent()
  43. end
  44. self.open_callback = function ( )
  45. self:OpenSuccess()
  46. end
  47. self.destroy_callback = function ( )
  48. self:DestroySuccess()
  49. end
  50. end
  51. function uiComToggleTipView:DestroySuccess()
  52. if self.delay_id then
  53. GlobalTimerQuest:CancelQuest(self.delay_id)
  54. self.delay_id = nil
  55. end
  56. end
  57. function uiComToggleTipView:LoadSuccess()
  58. local nodes = {
  59. "Toggle:obj","Window/windowTitleCon/windowTitleText:tmp","Window/windowCloseBtn:obj",
  60. "con/price:tmp","btnCancel:obj","Toggle/Label:tmp","btnOK:obj","Window:raw","con",
  61. "btnOK/lb_btn_ok:tmp","btnCancel/lb_btn_cancel:tmp","con/goodIcon:img:obj", "con/priceTitle:tmp:obj",
  62. }
  63. self:GetChildren(nodes)
  64. self.Toggle:GetComponent("Toggle").isOn = false--默认不勾选
  65. if self.need_load_again then
  66. self:UpdateView()
  67. end
  68. end
  69. function uiComToggleTipView:AddEvent()
  70. local function onBtnClickHandler(target,x,y)
  71. if target == self.btnOK_obj then
  72. if self.data.is_complex_ok_callback then
  73. if self.data.ok_callback then
  74. self.data.ok_callback()
  75. end
  76. self:Close()
  77. return
  78. end
  79. if not self.data or not self.data.price then
  80. Message.show("配置有误")
  81. return
  82. end
  83. if not GoodsModel:getInstance():IsJinEnough(self.data.price) then
  84. if self.data.rechanger_callback then
  85. self.data.rechanger_callback()
  86. end
  87. else
  88. if self.data.ok_callback then
  89. self.data.ok_callback()
  90. end
  91. end
  92. self:Close()
  93. elseif target == self.btnCancel_obj then
  94. if self.data.close_callback then
  95. self.data.close_callback()
  96. end
  97. self:Close()
  98. elseif target == self.windowCloseBtn_btn then
  99. self:Close()
  100. elseif target == self.Toggle_obj then
  101. self.is_toggle_on = not self.is_toggle_on
  102. if self.data.toggle_function then
  103. self.data.toggle_function(self.is_toggle_on)
  104. else
  105. self.model.sweep_no_tip = self.is_toggle_on
  106. end
  107. end
  108. end
  109. AddClickEvent(self.btnOK_obj,onBtnClickHandler,1)
  110. AddClickEvent(self.btnCancel_obj,onBtnClickHandler,1)
  111. AddClickEvent(self.windowCloseBtn_btn,onBtnClickHandler,1)
  112. AddClickEvent(self.Toggle_obj,onBtnClickHandler,1)
  113. end
  114. function uiComToggleTipView:Open(data)
  115. -- print("huangcong:uiComToggleTipView [start:100] 1111:", 1111)
  116. self.data = data or self.data
  117. BaseView.Open(self)
  118. end
  119. function uiComToggleTipView:OpenSuccess( )
  120. self:UpdateView()
  121. end
  122. function uiComToggleTipView:UpdateView( data )
  123. self.data = data or self.data
  124. -- print("huangcong:uiComToggleTipView [start:110] 111:", self.data)
  125. if not self.data then return end
  126. if not self.is_loaded then
  127. self.need_load_again = true
  128. return
  129. end
  130. if self.data.no_need_toggle and not self.data.toggle_function then
  131. self.Toggle_obj:SetActive(false)
  132. SetAnchoredPositionY(self.con,30)
  133. else
  134. self.Toggle_obj:SetActive(true)
  135. SetAnchoredPositionY(self.con,50)
  136. end
  137. self.windowTitleText_tmp.text = self.data.titleText or "扫荡副本"
  138. self.Label_tmp.text = self.data.toggleText or "本次登录不再提示"
  139. self.lb_btn_ok_tmp.text = self.data.okText or "确认"
  140. self.lb_btn_cancel_tmp.text = self.data.cancelText or "取消"
  141. -- self.data.rechanger_desc = self.data.rechanger_desc or "您的彩钻不足,是否前往充值?"
  142. local function rechanger_callback( ... )
  143. local ok = function ( )
  144. OpenFun.Open(158, 0)
  145. end
  146. Alert.show("您的彩钻不足,是否前往充值?",Alert.Type.Two,ok)
  147. end
  148. self.data.rechanger_callback = self.data.rechanger_callback or rechanger_callback
  149. --现在加入了图文混排把原来的逻辑给删除
  150. local price_str = ""
  151. if not self.data.special_icon_data then--没有特殊图标结构
  152. local name_str = self.data.nameText or "是否使用 "
  153. local gold_res = 1
  154. if self.data.gold_res and self.data.gold_res ~= "" then
  155. gold_res = string.gsub(self.data.gold_res, "ui_momey_icon_", "")
  156. end
  157. if self.data.hide_money_icon ~= nil then
  158. price_str = string.format("%s%s %s",self.data.insufficientText and self.data.insufficientText.."\n" or "",name_str,self.data.priceText or "0 扫荡副本?")
  159. else
  160. price_str = string.format("%s%s %s%s",self.data.insufficientText and self.data.insufficientText.."\n" or "",name_str,WordManager:GetMoneyFaceStr(tonumber(gold_res)),self.data.priceText or "0 扫荡副本?")
  161. end
  162. self.price_tmp.text = price_str
  163. else
  164. self.goodIcon_obj:SetActive(true)
  165. self.priceTitle_obj:SetActive(true)
  166. local function delay_method( )
  167. self.priceTitle_tmp.text = self.data.priceTitleText
  168. lua_resM:setImageSprite(self, self.goodIcon_img, self.data.special_icon_data.ab_name, self.data.special_icon_data.icon_res,true)
  169. self.price_tmp.text = string.format("%s%s",self.data.price,self.data.priceText)
  170. SetSizeDeltaX(self.price, self.price_tmp.preferredWidth + 2)
  171. SetSizeDeltaX(self.priceTitle, self.priceTitle_tmp.preferredWidth + 2)
  172. end
  173. self.delay_id = setTimeout(delay_method, 0.02)
  174. end
  175. lua_resM:setOutsideRawImage(self,self.Window_raw, GameResPath.GetViewBigBg(self.data.tips_comm_bg2 or "tips_comm_bg6"),false)
  176. end