ro-table/Asstes/Resources/Script/FrameWork/GUI/cell/PetCombineTableCell.txt
2025-06-04 05:02:57 +08:00

68 lines
1.7 KiB
Plaintext

autoImport("PetComposeItemCell")
PetCombineTableCell = class("PetCombineTableCell",BaseCell)
function PetCombineTableCell:Init()
self:FindObj()
self:InitCell()
self:AddCellClickEvent()
end
function PetCombineTableCell:FindObj()
self.starGrid = self:FindComponent("StarGrid",UIGrid)
self.petGrid = self:FindComponent("PetGrid",UIGrid)
self.starPrefab = self:FindGO("StarPrefab")
end
function PetCombineTableCell:InitCell()
self.starObj = {}
self.petCtl = UIGridListCtrl.new(self.petGrid,PetComposeItemCell,"PetComposeItemCell");
self.petCtl:AddEventListener(MouseEvent.MouseClick, self.ClickChoosenPetCell, self)
end
function PetCombineTableCell:ClickChoosenPetCell(cellctl)
if(cellctl and cellctl.data)then
self:PassEvent(MouseEvent.MouseClick, cellctl);
-- EventManager.Me():PassEvent()
end
end
function PetCombineTableCell:SetStar()
local childCount = self.starGrid.gameObject.transform.childCount;
for i=1,childCount-1 do
local trans = self.starGrid.gameObject.transform:GetChild(i);
self:Hide(trans.gameObject)
end
for i=1,self.data.star do
local obj = self.starObj[i];
if(not obj)then
local starObj = self:CopyGameObject(self.starPrefab);
starObj:SetActive(true);
starObj.transform:SetParent(self.starGrid.gameObject.transform)
starObj.name = string.format("starSymbol%02d", self.data.star);
self.starObj[i] = starObj;
else
obj:SetActive(true);
end
end
self.starGrid:Reposition()
end
function PetCombineTableCell:SetData(data)
self.data=data
if(data)then
self.petCtl:ResetDatas(data.value)
if('number'==type(data.star))then
self:SetStar()
end
end
end
function PetCombineTableCell:GetCells()
return self.petCtl:GetCells()
end