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
|