60 lines
1.6 KiB
Lua
60 lines
1.6 KiB
Lua
---@class _ParamPopCheckbox
|
||
---@field label
|
||
---@field isMultMode
|
||
---@field checked
|
||
|
||
-- xx单元
|
||
local _cell = {}
|
||
---@type Coolape.CLCellLua
|
||
local csSelf = nil
|
||
local transform = nil
|
||
---@type _ParamPopCheckbox
|
||
local mData = nil
|
||
local uiobjs = {}
|
||
|
||
-- 初始化,只调用一次
|
||
function _cell.init(csObj)
|
||
csSelf = csObj
|
||
transform = csSelf.transform
|
||
---@type UIToggle
|
||
uiobjs.toggle = getCC(transform, "Toggle", "UIToggle")
|
||
uiobjs.toggleBg = uiobjs.toggle:GetComponent("UISprite")
|
||
uiobjs.toggleCheckMark = getCC(uiobjs.toggle.transform, "Checkmark", "UISprite")
|
||
uiobjs.Label = getCC(transform, "Label", "UILabel")
|
||
end
|
||
|
||
-- 显示,
|
||
-- 注意,c#侧不会在调用show时,调用refresh
|
||
function _cell.show(go, data)
|
||
mData = data
|
||
uiobjs.Label.text = mData.label
|
||
if mData.isMultMode then
|
||
uiobjs.toggle.group = 0
|
||
CLUIUtl.setSpriteFit(uiobjs.toggleBg, "public_check")
|
||
CLUIUtl.setSpriteFit(uiobjs.toggleCheckMark, "public_check_full")
|
||
else
|
||
uiobjs.toggle.group = 909090
|
||
CLUIUtl.setSpriteFit(uiobjs.toggleBg, "public_radio")
|
||
CLUIUtl.setSpriteFit(uiobjs.toggleCheckMark, "public_radio_full")
|
||
end
|
||
uiobjs.toggle:Set(mData.checked)
|
||
end
|
||
|
||
-- 取得数据
|
||
function _cell.getData()
|
||
return mData
|
||
end
|
||
|
||
function _cell.uiEventDelegate(go)
|
||
mData.checked = uiobjs.toggle.value
|
||
if mData.checked then
|
||
uiobjs.Label.color = ColorEx.getColor(0xff2990dc)
|
||
else
|
||
uiobjs.Label.color = ColorEx.getColor(0xff363636)
|
||
end
|
||
mData.panel:onClickToggle()
|
||
end
|
||
|
||
--------------------------------------------
|
||
return _cell
|