源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

73 行
1.9 KiB

BlockSettingItem = BlockSettingItem or BaseClass(BaseItem)
function BlockSettingItem:__init()
self.base_file = "setting"
self.layout_file = "BlockSettingItem"
self.is_delay_callback = true
self.state = false
self:Load()
end
function BlockSettingItem:Load_callback()
self.label = self:GetChild("Label"):GetComponent("TextMeshProUGUI")
self.label_obj = self:GetChild("Label")
self.toggle = self.gameObject:GetComponent("Toggle")
if self.need_refreshData then
self:SetData(self.data,self.call_back)
end
if self.need_refreshState then
self:SetState(self.state)
end
self:InitEvent()
end
function BlockSettingItem:InitEvent()
local function onToggleClickHandler(target)
if target == self.gameObject then
self.state = self.toggle.isOn
if self.data == nil or self.call_back == nil then return end
self.call_back(self.data.block_str,self.state)
local color_str = self.state and "#f3fcff" or "#a9c1e1"
self.label.color = ColorUtil:ConvertHexToRGBColor(color_str)
end
end
AddClickEvent(self.gameObject,onToggleClickHandler)
end
function BlockSettingItem:SetData(data,call_back)
self.data = data
self.call_back = call_back
if self.is_loaded then
self.label.text = data.name or ""
self.need_refreshData = false
-- --显示该项是否重登后才生效
-- if data.next_login == true then
-- self.label_obj.localPosition = Vector3(23.75,10.3,0)
-- self.add_label:SetActive(true)
-- else
-- self.label_obj.localPosition = Vector3(23.75,0,0)
-- self.add_label:SetActive(false)
-- end
else
self.need_refreshData = true
end
end
function BlockSettingItem:SetState(state)
self.state = state
if self.is_loaded then
self.toggle.isOn = state
self.need_refreshState = false
local color_str = state and "#f3fcff" or "#a9c1e1"
self.label.color = ColorUtil:ConvertHexToRGBColor(color_str)
else
self.need_refreshState = true
end
end
function BlockSettingItem:__delete()
end