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

60 lines
1.8 KiB
Plaintext

SceneGuildGateInfo = reusableClass("SceneGuildGateInfo")
SceneGuildGateInfo.PoolSize = 50
SceneGuildGateInfo.ResID = ResourcePathHelper.UICell("SceneGuildGateInfo")
function SceneGuildGateInfo:Init()
self.level = GameObjectUtil.Instance:DeepFind(self.gameObject, "Level"):GetComponent(UILabel);
self.bossMap = {};
for i=1,5 do
local bossSymbol = GameObjectUtil.Instance:DeepFind(self.gameObject, "BossSymbol"..i);
self.bossMap[i] = GameObjectUtil.Instance:DeepFind(bossSymbol, "Finish");
end
self.teamSymbol = GameObjectUtil.Instance:DeepFind(self.gameObject, "TeamSymbol");
self.bg = GameObjectUtil.Instance:DeepFind(self.gameObject, "Bg"):GetComponent(UISprite);
end
function SceneGuildGateInfo:UpdateInfo( level, killedbossnum ,haveteamer)
if(level ~= nil)then
self.level.text = "Lv." .. tostring(level);
end
for i=1,#self.bossMap do
self.bossMap[i]:SetActive(i<=killedbossnum);
end
if(haveteamer)then
self.teamSymbol:SetActive(true);
self.bg.width = 286
else
self.teamSymbol:SetActive(false);
self.bg.width = 246
end
end
-- override begin
-- args { gameObject, text icon clickFunc }
function SceneGuildGateInfo:DoConstruct(asArray, args)
if(not Slua.IsNull(self.gameObject))then
GameObject.Destroy(self.gameObject);
self.gameObject = nil;
end
local parent = args[1];
if(not Slua.IsNull(parent))then
self.gameObject = Game.AssetManager_UI:CreateSceneUIAsset(self.ResID, parent.transform);
self.gameObject.transform.localPosition = LuaGeometry.Const_V3_zero;
self:Init();
self:UpdateInfo(args[2], args[3], args[4]);
end
end
function SceneGuildGateInfo:DoDeconstruct(asArray)
if(not Slua.IsNull(self.gameObject))then
Game.GOLuaPoolManager:AddToSceneUIPool(self.ResID, self.gameObject);
end
self.gameObject = nil;
end
-- override end