2025-06-04 05:02:57 +08:00

75 lines
1.9 KiB
Plaintext

local BaseCell = autoImport("BaseCell");
PetInfoLabelCell = class("PetInfoLabelCell", BaseCell);
PetInfoLabelCell.Path_PetSkillsCell = ResourcePathHelper.UICell("PetSkillsCell")
PetInfoLabelCell.Type = {
Attri = 1,
Skill = 2,
}
local DEFAULT_POSITION_X = 396
autoImport("PetSkillsCell");
function PetInfoLabelCell:Init()
self.type_Attri = self:FindGO("Type_Attri");
self.type_Skill = self:FindGO("Type_Skill");
self.tip = self:FindComponent("Tip", UILabel, self.type_Attri);
self.value = self:FindComponent("Value", UILabel, self.type_Attri);
end
local tempVector3 = LuaVector3.zero
function PetInfoLabelCell:SetData(data)
if(data == nil)then
return
end
if(data[1] == PetInfoLabelCell.Type.Skill)then
if(self.skillGO == nil)then
self.skillGO = Game.AssetManager_UI:CreateAsset(self.Path_PetSkillsCell, self.type_Skill);
self.skillsCell = PetSkillsCell.new(self.skillGO);
self.skillsCell:AddEventListener(MouseEvent.MouseClick, self.ClickSkill, self);
end
if(data[2])then
self.skillsCell:SetData(data[2]);
elseif(data[3])then
self.skillsCell:SetData(data[3]);
end
self.skillsCell:HideLine(data[4])
self.type_Attri:SetActive(false);
self.type_Skill:SetActive(true);
elseif(data[1] == PetInfoLabelCell.Type.Attri)then
if(self.skillGO~=nil)then
GameObject.Destroy(self.skillGO);
self.skillsCell = nil;
end
self.tip.text = data[2];
self.type_Attri:SetActive(true);
self.type_Skill:SetActive(false);
self.value.text = data[3] or "";
local defaultX = data[4] or DEFAULT_POSITION_X
tempVector3:Set(defaultX,0,0)
self.value.gameObject.transform.localPosition = tempVector3
end
end
function PetInfoLabelCell:ClickSkill(skillCell)
self:PassEvent(MouseEvent.MouseClick, skillCell);
end
function PetInfoLabelCell:PlayResetEffect()
if(self.skillsCell)then
local cells = self.skillsCell:GetCells();
if(cells)then
for i=1,#cells do
cells[i]:PlayResetEffect();
end
end
end
end