---@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