SettingBtnItem = SettingBtnItem or BaseClass(BaseItem) -- 性能设置项 function SettingBtnItem:__init(parent) self.base_file = "setting" self.layout_file = "SettingBtnItem" self.model = GameSettingModel:GetInstance() self:Load() end function SettingBtnItem:Load_callback() self:LoadSuccess() self:InitEvent() end function SettingBtnItem:LoadSuccess() self.checkmark = self:GetChild("checkmark").gameObject self.title = self:GetChild("Text"):GetComponent("TextMeshProUGUI") if self.need_refreshData then self:SetData(self.name,self.index,self.call_back) end if self.need_select then self:SetSelect(self.is_select) end end function SettingBtnItem:InitEvent( ) local function onClick( target ) if target == self.gameObject then if self.call_back then self.call_back(self.index) end end end AddClickEvent(self.gameObject,onClick,2) end function SettingBtnItem:SetData(name,index,call_back) self.name = name self.index = index self.call_back = call_back if self.is_loaded then self.title.text = name self.need_refreshData = false else self.need_refreshData = true end end function SettingBtnItem:SetSelect(bool) self.is_select = bool if self.is_loaded then self.checkmark:SetActive(bool) local color_str = bool and "#f3fcff" or "#a9c1e1" self.title.color = ColorUtil:ConvertHexToRGBColor(color_str) self.need_select = false else self.need_select = true end end