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

79 lines
1.7 KiB

преди 4 седмици
  1. DropDownItem = DropDownItem or BaseClass(BaseItem)
  2. DropDownItem.HEIGHT = 52
  3. function DropDownItem:__init(parent_wnd)
  4. self.base_file = "uiComponent"
  5. self.layout_file = "DropDownItem"
  6. self:Load()
  7. end
  8. function DropDownItem:__delete()
  9. end
  10. function DropDownItem:Load_callback()
  11. self.name_text = self:GetChild("name"):GetComponent("Text")
  12. self.redDot = self:GetChild("redDot").gameObject
  13. self.select_img = self.transform:GetComponent("Image")
  14. self:InitEvent()
  15. if self.need_refresh then
  16. self:SetData(self.name, self.set_func, self.call_back)
  17. self:ShowRedDot(self.show_redDot)
  18. end
  19. if self.need_refreshSelect then
  20. self:SelectStatus(self.is_select)
  21. end
  22. end
  23. function DropDownItem:InitEvent()
  24. local function click_func(target)
  25. if self.set_func then
  26. self.set_func(self.name)
  27. end
  28. if self.call_back then
  29. self.call_back(self.name)
  30. end
  31. end
  32. AddClickEvent(self.gameObject, click_func)
  33. end
  34. function DropDownItem:SetData(name, set_func, call_back)
  35. self.name = name
  36. self.set_func = set_func
  37. self.call_back = call_back
  38. if self.is_loaded then
  39. self.name_text.text = self.name
  40. else
  41. self.need_refresh = true
  42. end
  43. end
  44. function DropDownItem:SetSelected()
  45. if self.set_func then
  46. self.set_func(self.name)
  47. end
  48. if self.call_back and self.name then
  49. self.call_back(self.name)
  50. end
  51. end
  52. function DropDownItem:ShowRedDot(value)
  53. self.show_redDot = value or false
  54. if self.is_loaded then
  55. self.redDot:SetActive(self.show_redDot)
  56. else
  57. self.need_refresh = true
  58. end
  59. end
  60. function DropDownItem:SelectStatus(bool)
  61. self.is_select = bool
  62. if self.is_loaded then
  63. lua_resM:setImageSprite(self, self.select_img, "common_asset", bool and "tips_btn_on" or "tips_btn_off")
  64. else
  65. self.need_refreshSelect = true
  66. end
  67. end