Files
StellaSora_DataLua/lua/game/ui/templateex/templatematgridctrl.lua
T
SL1900 5e0d58cfad Initial version - 1.2.0.60
EN: 1.2.0.60
CN: 1.2.0.61
JP: 1.2.0.63
KR: 1.2.0.67
2025-12-03 01:00:00 +09:00

74 lines
2.7 KiB
Lua

local TemplateMatGridCtrl = class("TemplateMatGridCtrl", BaseCtrl)
TemplateMatGridCtrl._mapNodeConfig = {
goItem = {
sCtrlName = "Game.UI.TemplateEx.TemplateItemCtrl"
},
goEmpty = {},
txtCost = {sComponentName = "TMP_Text"},
rtSelect = {},
goReduce = {}
}
TemplateMatGridCtrl._mapEventConfig = {}
function TemplateMatGridCtrl:RerfeshGrid(mapData)
self._mapNode.goReduce:SetActive(false)
self._mapNode.rtSelect:SetActive(false)
self._mapNode.goItem.gameObject:SetActive(true)
self._mapNode.goEmpty:SetActive(false)
self.nType = mapData.nType
if self.nType == GameEnum.itemStype.DiscLimitBreak then
self._mapNode.goItem:SetItem(mapData.nId, nil, nil, nil, nil, nil, nil, true, true)
else
self.nHasCount = PlayerData.Item:GetItemCountByID(mapData.nId)
self.nItemId = mapData.nId
self._mapNode.goItem:SetItem(mapData.nId, nil, self.nHasCount, nil, nil, nil, nil, true, true)
end
end
function TemplateMatGridCtrl:RerfeshSelected(mapData)
self._mapNode.goReduce:SetActive(false)
self._mapNode.rtSelect:SetActive(false)
self._mapNode.goItem.gameObject:SetActive(mapData)
self._mapNode.goEmpty:SetActive(not mapData)
if not mapData then
return
end
self.nType = mapData.nType
if self.nType == GameEnum.itemStype.DiscLimitBreak then
self._mapNode.goItem:SetItem(mapData.nId, nil, nil, nil, nil, nil, nil, true, true)
else
self.nHasCount = mapData.nCost
self.nItemId = mapData.nId
self._mapNode.goItem:SetItem(mapData.nId, nil, self.nHasCount, nil, nil, nil, nil, true, true)
end
end
function TemplateMatGridCtrl:SetGridCount(nCount)
if self.nType ~= GameEnum.itemStype.DiscLimitBreak then
if nCount and 0 < nCount then
self._mapNode.goReduce:SetActive(true)
NovaAPI.SetTMPText(self._mapNode.txtCost, nCount)
self._mapNode.rtSelect:SetActive(true)
self._mapNode.goItem:SetItem(self.nItemId, nil, self.nHasCount - nCount, nil, nil, nil, nil, true, true)
else
self._mapNode.rtSelect:SetActive(false)
self._mapNode.goReduce:SetActive(false)
self._mapNode.goItem:SetItem(self.nItemId, nil, self.nHasCount, nil, nil, nil, nil, true, true)
end
end
self:SetMultiSelected_Blue(nCount and 0 < nCount)
end
function TemplateMatGridCtrl:SetSelectedCount(nCount)
self._mapNode.goReduce:SetActive(true)
if self.nType ~= GameEnum.itemStype.DiscLimitBreak then
self._mapNode.goItem:SetItem(self.nItemId, nil, nCount, nil, nil, nil, nil, true)
end
end
function TemplateMatGridCtrl:SetSelect(bSelect)
self._mapNode.goItem:SetSelect(bSelect)
end
function TemplateMatGridCtrl:SetLock(bLock)
self._mapNode.goItem:SetLock(bLock)
end
function TemplateMatGridCtrl:SetMultiSelected_Blue(bSelect)
self._mapNode.goItem:SetMultiSelected_Blue(bSelect)
end
return TemplateMatGridCtrl