源战役客户端
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.0 KiB

  1. SwallowCoreItem = SwallowCoreItem or BaseClass(BaseItem)
  2. local SwallowCoreItem = SwallowCoreItem
  3. function SwallowCoreItem:__init()
  4. self.base_file = "bag"
  5. self.layout_file = "SwallowCoreItem"
  6. self.model = BagModel:getInstance()
  7. self:Load()
  8. end
  9. function SwallowCoreItem:Load_callback()
  10. self.nodes = {
  11. "icon:img","lv:txt","click:obj","lock:obj","arrow:obj:img","select:obj",
  12. }
  13. self:GetChildren(self.nodes)
  14. self:AddEvents()
  15. if self.need_refreshData then
  16. self:UpdateView()
  17. end
  18. if self.need_reSelected then
  19. self:SetSelected(self.is_selected)
  20. end
  21. end
  22. function SwallowCoreItem:AddEvents( )
  23. local on_click = function ( click_obj )
  24. if self.click_obj == click_obj then
  25. self.model.now_select_core_item_id = self.item_id
  26. self.model:Fire(BagModel.CLICK_SWALLOW_CORE_ITEM,self.item_id)
  27. end
  28. end
  29. AddClickEvent(self.click_obj, on_click)
  30. local function on_click_swallow_core_item(item_id)
  31. self:SetSelected(self.item_id == item_id)
  32. end
  33. self:BindEvent(self.model,BagModel.CLICK_SWALLOW_CORE_ITEM,on_click_swallow_core_item)
  34. end
  35. function SwallowCoreItem:UpdateView( )
  36. lua_resM:setImageSprite(self, self.icon_img, "bagSwallow_asset", "bag_swallow_core_"..self.item_id)
  37. -- self.name_txt.text = Trim(self.data.name)
  38. self.lv_txt.text = Trim(self.data.name)
  39. self.lock_obj:SetActive(self.model.swallow_lv < self.data.lv)
  40. self:SetGray(self.model.swallow_lv < self.data.lv)
  41. self.arrow_obj:SetActive(false)
  42. end
  43. function SwallowCoreItem:SetData(data,item_id,max_id)
  44. self.data = data
  45. self.item_id = item_id
  46. self.max_id = max_id
  47. if self.is_loaded then
  48. self.need_refreshData = false
  49. self:UpdateView()
  50. else
  51. self.need_refreshData = true
  52. end
  53. end
  54. function SwallowCoreItem:SetSelected(bool)
  55. self.is_selected = bool
  56. if self.is_loaded then
  57. self.need_reSelected = false
  58. self.select_obj:SetActive(bool)
  59. else
  60. self.need_reSelected = true
  61. end
  62. end
  63. function SwallowCoreItem:SetGray(bool)
  64. SetImageGray(self.icon_img,bool)
  65. SetImageGray(self.arrow_img,bool)
  66. end
  67. function SwallowCoreItem:__delete( )
  68. end