38 lines
1.8 KiB
Lua
38 lines
1.8 KiB
Lua
-- Only the owned single-banner tab: bounded visual hierarchy/binder read.
|
|
do local function capture()
|
|
local s=_G.__gacOwnedPrefabTree1 or {queue={},index=1,started=false};_G.__gacOwnedPrefabTree1=s
|
|
if s.done then return end
|
|
local log=function(v)CS.UnityEngine.Debug.Log('[GAC_OWNED_TREE] '..tostring(v))end
|
|
if not s.started then
|
|
local page=_G.__gacWarpCreateTrace1 and _G.__gacWarpCreateTrace1.page
|
|
local state=_G.__GAC_GACHA_PRESENTATION_STATE
|
|
if not page or not state then return end
|
|
for _,tab in pairs(page._gacha_tab_items or {})do
|
|
local pool=tab._gacha_pool_data
|
|
if pool and state.installed[pool.GachaID] and state.installed[pool.GachaID].pool==pool then
|
|
local content=tab._binder.node_content
|
|
s.queue={{t=content.transform,path='content',depth=0}};s.started=true
|
|
for k,v in pairs(tab._binder)do log('BINDER '..tostring(k)..' '..type(v))end
|
|
break
|
|
end
|
|
end
|
|
if not s.started then return end
|
|
end
|
|
for n=1,12 do
|
|
local node=s.queue[s.index]
|
|
if not node then s.done=true;log('END');return end
|
|
s.index=s.index+1
|
|
local t=node.t
|
|
local image=t.gameObject:GetComponent(typeof(CS.UnityEngine.UI.Image))
|
|
local text=t.gameObject:GetComponent(typeof(CS.RPG.Client.LocalizedText))
|
|
log(node.path..' active='..tostring(t.gameObject.activeSelf)..' image='..tostring(image and image.sprite and image.sprite.name)..' text='..tostring(text and text.text))
|
|
if node.depth<5 then
|
|
for i=0,math.min(t.childCount-1,31)do
|
|
if #s.queue>=192 then break end
|
|
local child=t:GetChild(i)
|
|
if child.name~='GaCCharacterBanner'then s.queue[#s.queue+1]={t=child,path=node.path..'/'..child.name,depth=node.depth+1}end
|
|
end
|
|
end
|
|
end
|
|
end local ok,e=pcall(capture);if not ok then _G.__gacOwnedPrefabTree1={done=true};CS.UnityEngine.Debug.Log('[GAC_OWNED_TREE] ERROR '..tostring(e))end end
|