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

107 lines
3.3 KiB

  1. --[[
  2. @description:tips
  3. ]]
  4. EquipIdentifyTips = EquipIdentifyTips or BaseClass(BaseView)
  5. function EquipIdentifyTips:__init()
  6. self.base_file = "common"
  7. self.layout_file = "EquipIdentifyTips"
  8. self.layer_name = "Top"
  9. self.close_mode = CloseMode.CloseDestroy
  10. self.destroy_imm = true
  11. self.use_background = true
  12. self.click_bg_toClose = true
  13. self.goods_vo = nil
  14. self.pos_x = 0
  15. self.pos_y = 0
  16. self.model = GoodsModel:getInstance()
  17. self.is_show_btn = false
  18. self.curr_height = 0
  19. self.load_callback = function ()
  20. self:LoadSuccess()
  21. end
  22. self.open_callback = function ()
  23. self:SetData()
  24. end
  25. self.close_callback = function ()
  26. end
  27. self.destroy_callback = function ()
  28. if self.icon_item then
  29. self.icon_item:DeleteMe()
  30. end
  31. end
  32. end
  33. function EquipIdentifyTips:LoadSuccess()
  34. self.bg = self:GetChild("bg")
  35. self.icon = self:GetChild("icon")
  36. self.nameText = self:GetChild("nameText"):GetComponent("Text")
  37. self.num = self:GetChild("num"):GetComponent("Text")
  38. self.level = self:GetChild("level"):GetComponent("Text")
  39. self.desc = self:GetChild("desc"):GetComponent("Text")
  40. self.cost = self:GetChild("conta/cost"):GetComponent("Text")
  41. self.okBtn = self:GetChild("okBtn").gameObject
  42. self.sellBtn = self:GetChild("sellBtn").gameObject
  43. self.contaObj = self:GetChild("conta").gameObject
  44. self.icon_item = AwardItem.New(self.icon, false)
  45. self.icon_item:ChangeCountVisible(false)
  46. self:InitEvent()
  47. end
  48. function EquipIdentifyTips:InitEvent()
  49. local function onClickBtnHandler(target)
  50. if self.goods_vo and self.is_show_btn then
  51. if target == self.okBtn then
  52. EquipModel:getInstance():Fire(EquipModel.EQUIP_IDENTIFY, self.goods_vo.goods_id)
  53. elseif target == self.sellBtn then
  54. GlobalEventSystem:Fire(EventName.OPEN_SEll_VIEW, self.goods_vo)
  55. end
  56. end
  57. self:Close()
  58. end
  59. AddClickEvent(self.okBtn, onClickBtnHandler)
  60. AddClickEvent(self.sellBtn, onClickBtnHandler)
  61. end
  62. function EquipIdentifyTips:Open(type_id, x, y, goods_vo)
  63. self.is_show_btn = goods_vo ~= nil
  64. self.goods_vo = goods_vo or GoodsModel:getInstance():GetGoodsBasicByTypeId(type_id)
  65. if self.goods_vo == nil then return print("物品db里面没有物品数据") end
  66. self.pos_x = x
  67. self.pos_y = y
  68. BaseView.Open(self)
  69. end
  70. function EquipIdentifyTips:SetData()
  71. if self.goods_vo == nil then return end
  72. self.icon_item:SetData(tonumber(self.goods_vo.type_id), 1, self.goods_vo.color)
  73. local type_id, name, icon = EquipModel:getInstance():GetIdentifyGoodsNameAndIcon(self.goods_vo.type_id, RoleManager.Instance.mainRoleInfo.career, self.goods_vo.color)
  74. self.nameText.text = name
  75. self.num.text = GoodsModel:getInstance():GetTypeGoodsNum(self.goods_vo.type_id)
  76. if self.goods_vo.level > RoleManager.Instance.mainRoleInfo.level then
  77. self.level.text = "<color='#de4141'>" .. self.goods_vo.level .. "级</color>"
  78. else
  79. self.level.text = self.goods_vo.level .. ""
  80. end
  81. self.desc.text = Trim(self.goods_vo.intro)
  82. local config = Config.Equipidentifycost[self.goods_vo.type_id]
  83. if config then
  84. local reward_list = ErlangParser:GetInstance():Parse(config.object_list)
  85. if reward_list and reward_list[1][3] then
  86. self.cost.text = reward_list[1][3]
  87. end
  88. end
  89. if self.is_show_btn then
  90. self.contaObj:SetActive(true)
  91. self.okBtn:SetActive(true)
  92. self.sellBtn:SetActive(true)
  93. else
  94. self.contaObj:SetActive(false)
  95. self.okBtn:SetActive(false)
  96. self.sellBtn:SetActive(false)
  97. self.num.text = "1"
  98. end
  99. end