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

164 lines
5.8 KiB

пре 4 недеља
  1. MarketUpShelvesView = MarketUpShelvesView or BaseClass(BaseItem)
  2. local MarketUpShelvesView = MarketUpShelvesView
  3. function MarketUpShelvesView:__init()
  4. self.base_file = "market"
  5. self.layout_file = "MarketUpShelvesView"
  6. self.model = MarketModel:GetInstance()
  7. self:Load()
  8. end
  9. function MarketUpShelvesView:Load_callback()
  10. self.nodes = {
  11. "bg:raw", "guild_btn:obj:imgex", "Toggle:obj:tog", "addNumCon", "world_btn:obj:imgex", "price_text:tmp", "one_text:tmp",
  12. }
  13. self:GetChildren(self.nodes)
  14. lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetViewBigBg("shop_buy_view_bg"), false)
  15. self.addNumComponent = AddNumberComponent.New(self.addNumCon, nil, nil, nil, nil, nil, 264)
  16. self.addNumComponent:SetComponentWidth(244)
  17. self.addNumComponent:SetVisibleCalcBtn(false)
  18. self:AddEvents()
  19. if self.need_refreshData then
  20. self:UpdateView()
  21. end
  22. end
  23. function MarketUpShelvesView:AddEvents( )
  24. local onChangeCountHandler = function (count)
  25. self:SetCountNum(count)
  26. end
  27. self.change_count_id = self.addNumComponent:Bind(ComponentEvent.AddNumberComponent.CHANGE_COUNT,onChangeCountHandler)
  28. local function on_click( target )
  29. if target == self.Toggle_obj then
  30. elseif target == self.guild_btn_obj then--上架到社团
  31. if self.up_market_range == 1 then
  32. Message.show("该商品只能上架到世界拍卖哦~")
  33. else
  34. local function ok( ... )
  35. local data = self.data
  36. local is_to_world = self.Toggle_tog.isOn and 1 or 0
  37. self.model:Fire(MarketModel.REQUEST_CCMD_EVENT,15506,data.goods_id,data.type_id, self.market_count,MarketModel.AUCTION_GUILD_TYPE, is_to_world)
  38. self.model:Fire(MarketModel.CLOSE_MARKET_UP_SHELVES_VIEW)
  39. end
  40. local is_can_wear = EquipModel:getInstance():EquipCanShowGoodsTip(self.data)
  41. if is_can_wear then
  42. local ask_str = string.format("该装备可进行 <color=%s>穿戴</color> 或者 <color=%s>替换</color> 哦\n是否继续上架?", ColorUtil.GREEN_DARK,ColorUtil.GREEN_DARK)
  43. Alert.show(ask_str,Alert.Type.Two,ok,nil,"确定","取消")
  44. else
  45. ok()
  46. end
  47. end
  48. elseif target == self.world_btn_obj then--上架到世界
  49. self:FinishSpecialHelp()
  50. if self.up_market_range == 2 then
  51. Message.show("该商品只能上架到社团拍卖哦~")
  52. else
  53. local function ok( ... )
  54. local data = self.data
  55. self.model:Fire(MarketModel.REQUEST_CCMD_EVENT,15506,data.goods_id,data.type_id, self.market_count,MarketModel.AUCTION_WORLD_TYPE, 1)
  56. self.model:Fire(MarketModel.CLOSE_MARKET_UP_SHELVES_VIEW)
  57. end
  58. local is_can_wear = EquipModel:getInstance():EquipCanShowGoodsTip(self.data)
  59. if is_can_wear then
  60. local ask_str = string.format("该装备可进行 <color=%s>穿戴</color> 或者 <color=%s>替换</color> 哦\n是否继续上架?", ColorUtil.GREEN_DARK,ColorUtil.GREEN_DARK)
  61. Alert.show(ask_str,Alert.Type.Two,ok,nil,"确定","取消")
  62. else
  63. ok()
  64. end
  65. end
  66. end
  67. end
  68. AddClickEvent(self.Toggle_obj, on_click)
  69. AddClickEvent(self.world_btn_obj, on_click)
  70. AddClickEvent(self.guild_btn_obj, on_click)
  71. end
  72. function MarketUpShelvesView:UpdateView( )
  73. local goods_vo = GoodsModel:getInstance():GetGoodsBasicByTypeId(self.data.type_id)
  74. if goods_vo.trade_price == 0 then
  75. self.no_get_price = true
  76. self.one_text_tmp.text = "一口价"
  77. else
  78. self.no_get_price = false
  79. self.one_text_tmp.text = "起拍价"
  80. end
  81. --market_range--可上架区域,0表示社团和世界都可以上架,1表示只能上架世界,2表示只能上架社团
  82. self.up_market_range = goods_vo.market_range
  83. if self.up_market_range == 0 then
  84. self.guild_btn_imgex.gray = false
  85. self.world_btn_imgex.gray = false
  86. elseif self.up_market_range == 1 then
  87. self.guild_btn_imgex.gray = true
  88. self.world_btn_imgex.gray = false
  89. elseif self.up_market_range == 2 then
  90. self.guild_btn_imgex.gray = false
  91. self.world_btn_imgex.gray = true
  92. end
  93. local num = GoodsModel:getInstance():GetTypeGoodsUnlockNum(self.data.type_id, true)
  94. if goods_vo.type == GoodsModel.TYPE.EQUIP then--装备不可堆叠 只能1
  95. num = 1
  96. end
  97. self.addNumComponent:InitData(1, num, 1, 1, 6)
  98. --引导
  99. self:TriggerSpecialHelp()
  100. end
  101. function MarketUpShelvesView:SetData( data )
  102. self.data = data
  103. if self.is_loaded then
  104. self.need_refreshData = false
  105. self:UpdateView()
  106. else
  107. self.need_refreshData = true
  108. end
  109. end
  110. function MarketUpShelvesView:SetCountNum( count )
  111. self.market_count = count
  112. local goods_vo = GoodsModel:getInstance():GetGoodsBasicByTypeId(self.data.type_id)
  113. if self.no_get_price then
  114. self.price_text_tmp.text = goods_vo.buyout_price * count
  115. else
  116. self.price_text_tmp.text = goods_vo.trade_price * count
  117. end
  118. end
  119. function MarketUpShelvesView:__delete( )
  120. if self.change_count_id then
  121. self.addNumComponent:UnBind(self.change_count_id)
  122. self.change_count_id = nil
  123. self.addNumComponent:DeleteMe()
  124. self.addNumComponent = nil
  125. end
  126. self:FinishSpecialHelp()
  127. end
  128. --上架引导
  129. function MarketUpShelvesView:TriggerSpecialHelp( )
  130. if self.data and self.data.has_special_guide then
  131. self.has_special_guide = true
  132. local button = self.world_btn_obj
  133. if button then
  134. local function call_back()
  135. end
  136. local helpVo = Config.ConfigHelper.Task[8000000002][2]
  137. helpVo.step = 2
  138. helpVo.task_id = 8000000002
  139. GlobalEventSystem:Fire(EventName.OPEN_GUIDE_PROMPT_VIEW, button.transform, button.transform.parent.transform, call_back, helpVo, self.layout_file)
  140. GlobalEventSystem:Fire(GuideModel.REQ_LIFELONG_HELPER_CHANGE, GuideModel.LIFELONG_TYPE.MARKET_SELL, 1)
  141. end
  142. end
  143. end
  144. --结束引导
  145. function MarketUpShelvesView:FinishSpecialHelp( )
  146. if self.has_special_guide then
  147. GlobalEventSystem:Fire(EventName.CLOSE_GUIDE_PROMPT_VIEW)
  148. self.has_special_guide = false
  149. end
  150. end