KLEquipDecomposeUIPanel.lua 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
  1. ---@class KLEquipDecomposeUIPanel:UIKmlLuaPanelBase
  2. ---@field view KLEquipDecomposeUIPanelView
  3. ---@field ChooseCfgData table<number,cfg_recovery_column>
  4. ---@field ChooseTypeItemList table<number,KLRecoverTypeItem>
  5. ---@field DecomposeGetData table<number,{cfgId:number,minCount:number,maxCount:number}>
  6. ---@field DecomposeCustomData table<number,{cfgId:number,count:number}>
  7. ---@field SelectEquipItemTranList table<UIKmlLuaControl,KLEquipDecomposeItemItem>
  8. local KLEquipDecomposeUIPanel = class(UIKmlLuaPanelBase)
  9. local this =KLEquipDecomposeUIPanel
  10. ---创建时调用一次
  11. function this:Init()
  12. self.cfgNameStr = "cfg_recovery_out"
  13. self.ChooseTypeItemList = {}
  14. self.DecomposeGetData = {}
  15. self.DecomposeCustomData = {}
  16. self.DecomposeCustomItem = {}
  17. self.SelectItemDataList = {}
  18. self.SelectEquipItemTranList = {}
  19. ---分解获取的材料列表
  20. self.DecomposeGetMaterialList = {}
  21. ---选择的item数量
  22. self.selectItemCountList = {}
  23. GUI:DataListInitData(self.view.DecomposeGetDataList,function()
  24. return self:GetDataListItemCountFunc()
  25. end,function(realIndex)
  26. return self:GetDataListItemGetFunc(realIndex)
  27. end,function(realIndex, kmlcontrol)
  28. return self:GetDataListItemInitFunc(realIndex, kmlcontrol)
  29. end, function(realIndex, kmlcontrol)
  30. return self:GetDataListItemUpdateFunc(realIndex, kmlcontrol)
  31. end)
  32. GUI:DataListInitData(self.view.DecomposeCustomDataList,function()
  33. return self:CustomDataListItemCountFunc()
  34. end,function(realIndex)
  35. return self:CustomDataListItemGetFunc(realIndex)
  36. end,function(realIndex, kmlcontrol)
  37. return self:CustomDataListItemInitFunc(realIndex, kmlcontrol)
  38. end, function(realIndex, kmlcontrol)
  39. return self:CustomDataListItemUpdateFunc(realIndex, kmlcontrol)
  40. end)
  41. GUI:DataListInitData(self.view.EquipList,function()
  42. return self:EquipDataListItemCountFunc()
  43. end,function(realIndex)
  44. return self:EquipDataListItemGetFunc(realIndex)
  45. end,function(realIndex, kmlcontrol)
  46. return self:EquipDataListItemInitFunc(realIndex, kmlcontrol)
  47. end, function(realIndex, kmlcontrol)
  48. return self:EquipDataListItemUpdateFunc(realIndex, kmlcontrol)
  49. end)
  50. end
  51. ---获取分解类型表数据
  52. function this:GetCfgData()
  53. self.ChooseCfgData = {}
  54. ---@param v cfg_recovery_column
  55. for i, v in pairs(SL:GetConfigTable(self.cfgNameStr)) do
  56. if v.group==2 then
  57. table.insert(self.ChooseCfgData,v)
  58. end
  59. end
  60. table.sort(self.ChooseCfgData, function(a,b)
  61. return a.id<b.id
  62. end)
  63. end
  64. ---创建分解类型选择列表
  65. function this:CreatChooseTypeToggle()
  66. ---类型选择列表
  67. for k,homeTabConfig in pairs(self.ChooseCfgData) do
  68. ---@type KLRecoverTypeItem
  69. local homeTab = GUI:UIPanel_Open("dev/ui/Recover/Item/KLRecoverType/KLRecoverTypeItem",self.view.ChooseTypeCount,self,homeTabConfig,true)
  70. homeTab.id = homeTabConfig.id
  71. GUI:SetToggleOnValueChange(homeTab.view.KmlRecycleTypeItemTemplate,self,self.HomeTabOnToggle,homeTabConfig.id)
  72. table.insert(self.ChooseTypeItemList,homeTab)
  73. end
  74. end
  75. ---@param control UIKmlLuaControl
  76. function this:HomeTabOnToggle(control, eventData)
  77. SL:SetPlayerAutoDecomposeType(eventData,control:GetTogIsOn())
  78. self:RefreshGetData()
  79. end
  80. function this:RefreshChooseTypeItemList()
  81. local selectTogList = SL:GetPlayerAutoDecomposeType()
  82. for k,KLRecoverTypeItem in pairs(self.ChooseTypeItemList) do
  83. GUI:Toggle_setIsOn(KLRecoverTypeItem.view.KmlRecycleTypeItemTemplate,table.contains(selectTogList,KLRecoverTypeItem.id))
  84. end
  85. end
  86. ---刷新收益材料和所需材料
  87. function this:RefreshGetData(isUpdateCoin)
  88. ---@type table<number,boolean>
  89. self.selectItemList={}
  90. self.SelectItemIndexList={}
  91. self.SelectItemDataList={}
  92. ---@type table<number,{count:number,cfgId:number}>
  93. self.DecomposeGetData={}
  94. self.DecomposeCustomData={}
  95. ---@type number[]
  96. local typeList=SL:GetPlayerAutoDecomposeType()
  97. ---@param v CommonProtos.Item
  98. for i, v in pairs(SL:GetPlayerDecomposeItemList()) do
  99. local configData = SL:GetConfig("cfg_item", v.cfgId)
  100. if table.contains(typeList,configData.decomposeGroup) then
  101. local selectCount = 1
  102. if self.selectItemCountList[v.id] then
  103. selectCount = self.selectItemCountList[v.id]
  104. end
  105. local recycleCfg=SL:GetConfig(self.cfgNameStr,configData.decomposeGroup)
  106. local endGetMaterialList = {}
  107. local endNeedMaterialList = {}
  108. for z, a in ipairs(recycleCfg.material) do
  109. table.insert(endGetMaterialList,{[1] = a[1],[2] = a[2] * selectCount,[3] = a[3]})
  110. end
  111. for z, a in ipairs(recycleCfg.needMaterial) do
  112. table.insert(endNeedMaterialList,{[1] = a[1],[2] = a[2] * selectCount})
  113. end
  114. for k = 1, table.count(endGetMaterialList) do
  115. if not self:CheckExsit2(endGetMaterialList[k], self.DecomposeGetData) then
  116. ---@type {minCount:number,maxCount:number,,cfgId:number}
  117. local getType={}
  118. getType.cfgId=endGetMaterialList[k][1]
  119. getType.minCount=endGetMaterialList[k][2]
  120. getType.maxCount=endGetMaterialList[k][3]
  121. table.insert( self.DecomposeGetData,getType)
  122. end
  123. end
  124. for k = 1, table.count(endNeedMaterialList) do
  125. if not self:CheckExsit(endNeedMaterialList[k], self.DecomposeCustomData) then
  126. ---@type {count:number,cfgId:number}
  127. local getType={}
  128. getType.cfgId=endNeedMaterialList[k][1]
  129. getType.count=endNeedMaterialList[k][2]
  130. if table.count(self.DecomposeCustomData) < 5 then
  131. table.insert(self.DecomposeCustomData,getType)
  132. end
  133. end
  134. end
  135. table.insert(self.SelectItemIndexList,{index = SL:MeData_GetIndexBaseOnItemId(v.id),count = selectCount})
  136. table.insert(self.SelectItemDataList,v)
  137. self.selectItemList[v.id]=true
  138. end
  139. end
  140. self:UpdateCoinData()
  141. if not isUpdateCoin then--货币刷新的时候不刷新除消耗以外的信息
  142. self:UpdateData()
  143. end
  144. end
  145. ---根据背包内勾选刷新收益材料和所需材料
  146. function this:ShowGetItemListBySelect(isUpdateCoin)
  147. self.SelectItemIndexList={}
  148. self.SelectItemDataList={}
  149. ---@type table<number,{count:number,cfgId:number}>
  150. self.DecomposeGetData={}
  151. self.DecomposeCustomData={}
  152. self.DecomposeGetMaterialList = {}
  153. ---@type number[]
  154. --local typeList=SL:GetPlayerAutoDecomposeType()
  155. ---@param v CommonProtos.Item
  156. for i, v in pairs(SL:GetPlayerDecomposeItemList()) do
  157. local configData = SL:GetConfig("cfg_item", v.cfgId)
  158. if self.selectItemList[v.id] then
  159. ---@type cfg_recovery_out_column
  160. local recycleCfg=SL:GetConfig(self.cfgNameStr,configData.decomposeGroup)
  161. local selectCount = 1
  162. if self.selectItemCountList[v.id] then
  163. selectCount = self.selectItemCountList[v.id]
  164. end
  165. local endGetMaterialList = {}
  166. local endNeedMaterialList = {}
  167. for z, a in ipairs(recycleCfg.material) do
  168. table.insert(endGetMaterialList,{[1] = a[1],[2] = a[2] * selectCount,[3] = a[3] * selectCount})
  169. end
  170. for z, a in ipairs(recycleCfg.needMaterial) do
  171. table.insert(endNeedMaterialList,{[1] = a[1],[2] = a[2] * selectCount})
  172. end
  173. for z = 1, selectCount do
  174. table.insert(self.DecomposeGetMaterialList,recycleCfg.material)
  175. end
  176. local material = self:GetMinAndMaxCount(endGetMaterialList)
  177. for k = 1, table.count(material) do
  178. if not self:CheckExsit2(material[k], self.DecomposeGetData) then
  179. ---@type {minCount:number,maxCount:number,,cfgId:number}
  180. local getType={}
  181. getType.cfgId=material[k][1]
  182. getType.minCount=material[k][2]
  183. getType.maxCount=material[k][3]
  184. table.insert( self.DecomposeGetData,getType)
  185. end
  186. end
  187. for k = 1, table.count(endNeedMaterialList) do
  188. if not self:CheckExsit(endNeedMaterialList[k], self.DecomposeCustomData) then
  189. ---@type {count:number,cfgId:number}
  190. local getType={}
  191. getType.cfgId = endNeedMaterialList[k][1]
  192. getType.count = endNeedMaterialList[k][2]
  193. if table.count(self.DecomposeCustomData) < 5 then
  194. table.insert(self.DecomposeCustomData,getType)
  195. end
  196. end
  197. end
  198. table.insert(self.SelectItemIndexList,{index = SL:MeData_GetIndexBaseOnItemId(v.id),count = selectCount})
  199. table.insert(self.SelectItemDataList,v)
  200. end
  201. end
  202. self:UpdateCoinData()
  203. if not isUpdateCoin then--货币刷新的时候不刷新除消耗以外的信息
  204. self:UpdateData()
  205. end
  206. end
  207. ---获取材料的最大最小值
  208. function this:GetMinAndMaxCount(material)
  209. local endMaterialList = {}
  210. local materialCountList = {}
  211. for i, v in ipairs(material) do
  212. if not materialCountList[v[1]] then
  213. materialCountList[v[1]] = {}
  214. end
  215. table.insert(materialCountList[v[1]],v[2])
  216. end
  217. for i, v in pairs(materialCountList) do
  218. local minCount
  219. local maxCount
  220. for z, a in ipairs(v) do
  221. if not minCount then
  222. minCount = a
  223. end
  224. if not maxCount then
  225. maxCount = a
  226. end
  227. if a < minCount then
  228. minCount = a
  229. end
  230. if a > maxCount then
  231. maxCount = a
  232. end
  233. end
  234. local data = {}
  235. data[1] = i
  236. data[2] = minCount
  237. data[3] = maxCount
  238. table.insert(endMaterialList,data)
  239. end
  240. return endMaterialList
  241. end
  242. ---根据权重获取最终获得的随机材料(所有)
  243. function this:GetEndGetMaterial()
  244. self.endGetMaterialList = {}
  245. for i, v in ipairs(self.DecomposeGetMaterialList) do
  246. local itemList = {}
  247. for k = 1, table.count(v) do
  248. local cfgId = v[k][1]
  249. local count = v[k][2]
  250. local weights = v[k][3]
  251. if not itemList[cfgId] then
  252. itemList[cfgId] = {}
  253. itemList[cfgId].countList = {}
  254. itemList[cfgId].weightsList = {}
  255. end
  256. table.insert(itemList[cfgId].countList,count)
  257. table.insert(itemList[cfgId].weightsList,weights)
  258. end
  259. for z, a in pairs(itemList) do
  260. local count = self:GetRandomByWeight(a.countList,a.weightsList)
  261. if not self.endGetMaterialList[z] then
  262. self.endGetMaterialList[z] = count
  263. else
  264. self.endGetMaterialList[z] = self.endGetMaterialList[z] + count
  265. end
  266. end
  267. end
  268. end
  269. ---根据权重获取最终获得的随机材料(单个)
  270. function this:GetRandomByWeight(t, weights)
  271. local sum = 0
  272. for i = 1, #weights do
  273. sum = sum + weights[i]
  274. end
  275. local compareWeight = math.random(1, sum)
  276. local weightIndex = 1
  277. while sum > 0 do
  278. sum = sum - weights[weightIndex]
  279. if sum < compareWeight then
  280. return t[weightIndex]
  281. end
  282. weightIndex = weightIndex + 1
  283. end
  284. return nil
  285. end
  286. ---刷新选中装备和获得的材料信息
  287. function this:UpdateData()
  288. GUI:SetActive(self.view.Info,table.count(self.DecomposeGetData) > 0 or table.count(self.DecomposeCustomData) > 0)
  289. GUI:SetActive(self.view.decoIcon_1,table.count(self.DecomposeCustomData) > 0)
  290. GUI:SetActive(self.view.NoInfo,not (table.count(self.DecomposeGetData) > 0 or table.count(self.DecomposeCustomData) > 0))
  291. GUI:SetActive(self.view.EquipBg,table.count(self.DecomposeGetData) > 0 or table.count(self.DecomposeCustomData) > 0)
  292. GUI:DataListUpdateData(self.view.DecomposeGetDataList)
  293. GUI:DataListUpdateData(self.view.EquipList)
  294. ---刷新勾选
  295. ---EventManager.Dispatch(Event.RecoverSelectChange, self.selectItemList)
  296. SL:onLUAEvent(Event.RecoverSelectChange, self.selectItemList)
  297. end
  298. ---刷新消耗材料信息
  299. function this:UpdateCoinData()
  300. self.isCanDecompose = true
  301. for i, v in pairs(self.DecomposeCustomData) do
  302. if SL:GetBagItemCount(v.cfgId) < v.count then
  303. self.isCanDecompose = false
  304. break
  305. end
  306. end
  307. GUI:DataListUpdateData(self.view.DecomposeCustomDataList)
  308. end
  309. ---@param list table<number,{count:number,cfgId:number}>
  310. function this:CheckExsit(data,list)
  311. for i, v in pairs(list) do
  312. if v.cfgId==data[1] then
  313. v.count=v.count+data[2]
  314. return true
  315. end
  316. end
  317. return false
  318. end
  319. ---@param list table<number,{minCount:number,maxCount:number,cfgId:number}>
  320. function this:CheckExsit2(data,list)
  321. for i, v in pairs(list) do
  322. if v.cfgId==data[1] then
  323. v.minCount=v.minCount+data[2]
  324. v.maxCount=v.maxCount+data[3]
  325. return true
  326. end
  327. end
  328. return false
  329. end
  330. -------------------收益---------------------------
  331. function this:GetDataListItemCountFunc()
  332. return #self.DecomposeGetData
  333. end
  334. function this:GetDataListItemGetFunc(realIndex)
  335. end
  336. function this:GetDataListItemInitFunc(realIndex, kmlcontrol)
  337. end
  338. function this:GetDataListItemUpdateFunc(realIndex, kmlcontrol)
  339. local data = self.DecomposeGetData[realIndex + 1]
  340. local item = GUI:GetChildControl(self.view.DecomposeGetDataList,realIndex,'GetItem')
  341. local countStr = data.minCount.."~"..data.maxCount
  342. if data.minCount == data.maxCount then
  343. countStr = data.minCount
  344. end
  345. GUI:Item_UpdataData(item, {
  346. itemid = data.cfgId,
  347. itemcustomcount = countStr,
  348. })
  349. GUI:AddOnClickEvent(item, self, function()
  350. SL:OpenTips(nil, data.cfgId)
  351. end)
  352. end
  353. --------------------------------------------
  354. ----------------------材料--------------------------
  355. function this:CustomDataListItemCountFunc()
  356. return #self.DecomposeCustomData
  357. end
  358. function this:CustomDataListItemGetFunc(realIndex)
  359. ---@type KLUICostMatItem
  360. local item = GUI:UIPanel_Open("dev/ui/Common/Item/KLUICostMat/KLUICostMatItem", self.view.DecomposeCustomDataList, self, nil, true)
  361. if not self.DecomposeCustomItem then
  362. ---@type table<KingML.KmlControl,KLUICostMatItem>
  363. self.DecomposeCustomItem = {}
  364. end
  365. local kmlCtrl = item.view.root
  366. self.DecomposeCustomItem[kmlCtrl] = item
  367. return kmlCtrl
  368. end
  369. function this:CustomDataListItemInitFunc(realIndex, kmlcontrol)
  370. end
  371. function this:CustomDataListItemUpdateFunc(realIndex, kmlcontrol)
  372. local item = self.DecomposeCustomItem[kmlcontrol]
  373. local luaIndex = realIndex + 1
  374. local data = self.DecomposeCustomData[luaIndex]
  375. item:Refresh(data.cfgId,data.count)
  376. end
  377. -----------------------------------------------------
  378. ----------------------装备--------------------------
  379. function this:EquipDataListItemCountFunc()
  380. return #self.SelectItemDataList
  381. end
  382. function this:EquipDataListItemGetFunc(realIndex)
  383. local item = GUI:UIPanel_Open("dev/outui/Equip/Item/KLEquipDecomposeItem/KLEquipDecomposeItemItem",
  384. self.view.EquipList, self, nil, true)
  385. local kmlCtrl = item.view.root
  386. self.SelectEquipItemTranList[kmlCtrl] = item
  387. return kmlCtrl
  388. end
  389. function this:EquipDataListItemInitFunc(realIndex, kmlcontrol)
  390. end
  391. function this:EquipDataListItemUpdateFunc(realIndex, kmlcontrol)
  392. local data = self.SelectItemDataList[realIndex + 1]
  393. local count = self.selectItemCountList[data.id]
  394. self.SelectEquipItemTranList[kmlcontrol]:RefreshData(data,count)
  395. end
  396. -----------------------------------------------------
  397. ---创建或者刷新界面数据时调用
  398. function this:Refresh()
  399. self:RefreshGetData()
  400. --self:RefreshChooseTypeItemList()
  401. GUI:UIPanel_Close("dev/ui/Equip/Panel/KLEquipUI/KLEquipUIPanel")
  402. GUI:UIPanel_Close("dev/ui/Bag/Panel/KLUIBag/KLUIBagPanel")
  403. ---显示背包
  404. GUI:UIPanel_Open("dev/ui/Bag/Panel/KLRecoverBag/KLRecoverBagPanel",
  405. nil, nil,
  406. {
  407. itemList = SL:GetPlayerDecomposeItemList(),
  408. x=-482,
  409. bagType=EBagShowType.Decompose,
  410. itemClickCallBack=self.ClickItemCallBack,
  411. selectList=self.selectItemList,
  412. callBackUI=self,
  413. cfgNameStr=self.cfgNameStr
  414. }
  415. )
  416. end
  417. ---注册UI事件和服务器消息
  418. function this:RegistEvents()
  419. GUI:AddOnClickEvent(self.view.CloseButton, self, self.OnClickCloseButton)
  420. GUI:AddOnClickEvent(self.view.HelpButton, self, self.OnClickHelpButton)
  421. GUI:AddOnClickEvent(self.view.DecomposeButton, self, self.OnClickDecomposeButton)
  422. SL:RegisterLUAEvent(LUA_EVENT_BAG_CHANGE_AFTER, self.BagInfo_Change, self)
  423. SL:RegisterLUAEvent(LUA_EVENT_MONEYCHANGE, self.CoinInfo_Change,self)
  424. --SL:RegisterLUAEvent(LUA_EVENT_Item_Resolve, self.ResolveOver,self)
  425. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_ITEM_DECOMPOSITION,self.DecomposeMsg,self)
  426. SL:RegisterLUAEvent(LUA_EVENT_FORGE_GROUP_PANEL_CLOSE, self.OnClickCloseButton, self)
  427. end
  428. ---点击背包item回调
  429. ---@param itemControl KLBagItemItemView
  430. ---@param itemData CommonProtos.Item
  431. function this:ClickItemCallBack(itemControl,itemData,itemSelf)
  432. ---是否选中
  433. local isSelect = self.selectItemCountList[itemData.id] and self.selectItemCountList[itemData.id] > 0
  434. if isSelect then
  435. self.selectItemCountList[itemData.id] = 0
  436. else
  437. if itemData.count > 1 then
  438. GUI:UIPanel_Open("dev/outui/SelectCount/Panel/KLSelectCount/KLSelectCountPanel", nil, nil,
  439. {
  440. callbackUI = self,
  441. sure =
  442. function(_,id,count)
  443. self.selectItemCountList[id] = count
  444. self:SetSelectItemState(itemControl,itemData,itemSelf,isSelect)
  445. end,
  446. itemid = itemData.cfgId,
  447. max = itemData.count,
  448. id = itemData.id
  449. })
  450. return
  451. else
  452. self.selectItemCountList[itemData.id] = 1
  453. end
  454. end
  455. self:SetSelectItemState(itemControl,itemData,itemSelf,isSelect)
  456. end
  457. ---设置选中的背包item图片状态
  458. ---@param itemControl KLBagItemItemView
  459. ---@param itemData CommonProtos.Item
  460. function this:SetSelectItemState(itemControl,itemData,itemSelf,isSelect)
  461. itemSelf:SetSelectEffect(not isSelect,true)
  462. self.selectItemList[itemData.id] = not isSelect
  463. self:ShowGetItemListBySelect()
  464. end
  465. ---分解回包
  466. function this:DecomposeMsg(_,message)
  467. if message and next(message) then
  468. local list = {}
  469. for i, v in pairs(message) do
  470. table.insert(list,{cfgId = tonumber(i),count = tonumber(v)})
  471. end
  472. SL:OpenRewardTipsByItemList(list,0)
  473. --self.endGetMaterialList = {}
  474. self.selectItemCountList = {}
  475. self.selectItemList = {}
  476. self:ShowGetItemListBySelect()
  477. end
  478. end
  479. function this:ResolveOver(id,itemList)
  480. SL:OpenRewardTipsByItemList(itemList,0)
  481. self:ShowGetItemListBySelect()
  482. end
  483. --关闭页面
  484. function this:OnClickCloseButton()
  485. GUI:UIPanel_Close("dev/ui/Equip/Panel/KLEquipDecomposeUI/KLEquipDecomposeUIPanel")
  486. GUI:UIPanel_Close("dev/ui/Bag/Panel/KLRecoverBag/KLRecoverBagPanel")
  487. GUI:UIPanel_Close("dev/ui/UIForgeGroup/Panel/KLUIForgeGroup/KLUIForgeGroupPanel")
  488. end
  489. --帮助页面
  490. function this:OnClickHelpButton()
  491. local helpCfg=SL:GetConfig("cfg_rule_text",3)
  492. if helpCfg then
  493. SL:CommonStrTipsMessage({title =helpCfg.menutxt,str=helpCfg.location})
  494. end
  495. end
  496. --分解
  497. function this:OnClickDecomposeButton()
  498. --SL:SendDecomposeItem(self.SelectItemIndexList)
  499. if not self.isCanDecompose then
  500. SL:TipMessage( SL:GetConfig('cfg_string',293).text,1, NoticeType.NoticeMid )--消耗材料不足
  501. return
  502. end
  503. --self:GetEndGetMaterial()
  504. --local customData = {}
  505. --local endGetMaterial = {}
  506. local selectItemIndexList = {}
  507. --for i, v in ipairs(self.DecomposeCustomData) do
  508. -- customData[tostring(v.cfgId)] = v.count
  509. --end
  510. --for i, v in pairs(self.endGetMaterialList) do
  511. -- endGetMaterial[tostring(i)] = v
  512. --end
  513. for i, v in ipairs(self.SelectItemIndexList) do
  514. selectItemIndexList[tostring(v.index)] = v.count
  515. end
  516. SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_ITEM_DECOMPOSITION, {selectItemIndexList})
  517. end
  518. function this:BagInfo_Change(eventId, eventData)
  519. if not eventData then
  520. return
  521. end
  522. self:ShowGetItemListBySelect()
  523. end
  524. function this:CoinInfo_Change(eventId, eventData)
  525. self:ShowGetItemListBySelect(true)
  526. end
  527. function this:Close()
  528. end
  529. return this