77 lines
2.2 KiB
Lua
77 lines
2.2 KiB
Lua
---@class CellBottomBtn
|
||
local _cell = {}
|
||
local csSelf = nil
|
||
local transform = nil
|
||
local mData = nil
|
||
local uiobjs = {}
|
||
|
||
-- 初始化,只调用一次
|
||
function _cell.init(csObj)
|
||
csSelf = csObj
|
||
transform = csSelf.transform
|
||
--[[
|
||
上的组件:getChild(transform, "offset", "Progress BarHong"):GetComponent("UISlider");
|
||
--]]
|
||
---@type UIToggle
|
||
uiobjs.toggle = csSelf:GetComponent("UIToggle")
|
||
uiobjs.Label = getCC(transform, "Label", "UILabel")
|
||
-- uiobjs.LabelCheck = getCC(transform, "LabelCheck", "UILabel")
|
||
uiobjs.boxCollider = csSelf:GetComponent("BoxCollider")
|
||
uiobjs.Background = getCC(transform, "Background", "UISprite")
|
||
uiobjs.Checkmark = getCC(transform, "Checkmark", "UISprite")
|
||
uiobjs.LabelReddotNum = getCC(transform, "LabelReddotNum", "UILabel")
|
||
end
|
||
|
||
-- 显示,
|
||
-- 注意,c#侧不会在调用show时,调用refresh
|
||
function _cell.show(go, data)
|
||
mData = data
|
||
uiobjs.Label.text = mData.name
|
||
-- uiobjs.LabelCheck.text = mData.name
|
||
uiobjs.boxCollider.center = Vector3.zero
|
||
uiobjs.boxCollider.size = Vector3(mData.width, 150, 0)
|
||
uiobjs.Background.spriteName = mData.Background
|
||
uiobjs.Checkmark.spriteName = mData.Checkmark
|
||
_cell.setReddotNum(0)
|
||
end
|
||
|
||
function _cell.setReddotNum(num)
|
||
if num and num > 0 then
|
||
SetActive(uiobjs.LabelReddotNum.gameObject, true)
|
||
if num > 9 then
|
||
uiobjs.LabelReddotNum.text = "…"
|
||
else
|
||
uiobjs.LabelReddotNum.text = tostring(num)
|
||
end
|
||
else
|
||
SetActive(uiobjs.LabelReddotNum.gameObject, false)
|
||
end
|
||
end
|
||
|
||
-- 注意,c#侧不会在调用show时,调用refresh
|
||
function _cell.setSelected(val)
|
||
uiobjs.toggle:Set(val)
|
||
end
|
||
|
||
function _cell.refreshState()
|
||
if uiobjs.toggle.value then
|
||
uiobjs.Background.color = Color.white
|
||
uiobjs.Label.color = ColorEx.getColor(0xff2990dc)
|
||
else
|
||
uiobjs.Background.color = ColorEx.getColor(153, 153, 153)
|
||
uiobjs.Label.color = ColorEx.getColor(153, 153, 153)
|
||
end
|
||
end
|
||
|
||
-- 取得数据
|
||
function _cell.getData()
|
||
return mData
|
||
end
|
||
|
||
function _cell.uiEventDelegate(go)
|
||
_cell.refreshState()
|
||
end
|
||
|
||
--------------------------------------------
|
||
return _cell
|