源战役客户端
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

62 líneas
1.4 KiB

  1. SettingBtnItem = SettingBtnItem or BaseClass(BaseItem)
  2. -- 性能设置项
  3. function SettingBtnItem:__init(parent)
  4. self.base_file = "setting"
  5. self.layout_file = "SettingBtnItem"
  6. self.model = GameSettingModel:GetInstance()
  7. self:Load()
  8. end
  9. function SettingBtnItem:Load_callback()
  10. self:LoadSuccess()
  11. self:InitEvent()
  12. end
  13. function SettingBtnItem:LoadSuccess()
  14. self.checkmark = self:GetChild("checkmark").gameObject
  15. self.title = self:GetChild("Text"):GetComponent("TextMeshProUGUI")
  16. if self.need_refreshData then
  17. self:SetData(self.name,self.index,self.call_back)
  18. end
  19. if self.need_select then
  20. self:SetSelect(self.is_select)
  21. end
  22. end
  23. function SettingBtnItem:InitEvent( )
  24. local function onClick( target )
  25. if target == self.gameObject then
  26. if self.call_back then
  27. self.call_back(self.index)
  28. end
  29. end
  30. end
  31. AddClickEvent(self.gameObject,onClick,2)
  32. end
  33. function SettingBtnItem:SetData(name,index,call_back)
  34. self.name = name
  35. self.index = index
  36. self.call_back = call_back
  37. if self.is_loaded then
  38. self.title.text = name
  39. self.need_refreshData = false
  40. else
  41. self.need_refreshData = true
  42. end
  43. end
  44. function SettingBtnItem:SetSelect(bool)
  45. self.is_select = bool
  46. if self.is_loaded then
  47. self.checkmark:SetActive(bool)
  48. local color_str = bool and "#f3fcff" or "#a9c1e1"
  49. self.title.color = ColorUtil:ConvertHexToRGBColor(color_str)
  50. self.need_select = false
  51. else
  52. self.need_select = true
  53. end
  54. end