Files
GaCy-GO/tools/train_debug_conditions_probe.lua

40 lines
1.8 KiB
Lua

-- Read only RuntimeGroup conditions on an explicit floor; never load graphs.
do
local input = __ENTRANCE_ROW__
local state = _G.__gacTrainDebugConditions1 or {index=0}
_G.__gacTrainDebugConditions1 = state
if not state.done then
local function log(v) CS.UnityEngine.Debug.Log('[GAC_TRAIN_DEBUG_CONDITIONS] '..tostring(v)) end
local ok,err=pcall(function()
if not state.floor then
state.floor=CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelFloorInfo(CS.RPG.Client.MapDef.GetRtFloorInfoPath(input.PlaneID,input.FloorID))
end
local count=0
local started=CS.UnityEngine.Time.realtimeSinceStartup
while state.index<state.floor.GroupInstanceList.Length and count<8 do
if count>0 and CS.UnityEngine.Time.realtimeSinceStartup-started>0.020 then break end
local g=state.floor.GroupInstanceList[state.index]
state.index=state.index+1
local c=state.floor.GroupInstanceCommonMap[g.ID]
if not g.IsDelete and c~=nil and not c.IsDelete and tostring(c.LoadSide):find('Client',1,true) then
count=count+1
local r=CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelGroupInfo(g.GroupPath)
local condition=CS.Newtonsoft.Json.JsonConvert.SerializeObject(r.SavedValueCondition)
if condition:find('Utility_IsDebug',1,true) then
local props={}
if r.PropList then for j=0,r.PropList.Length-1 do
local p=r.PropList[j]
props[#props+1]={id=p.ID,prop_id=p.PropID,graph=tostring(p.InitLevelGraph)}
end end
log('GROUP '..g.ID..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(r.GroupName)..' '..condition)
for _,p in ipairs(props)do log('PROP '..g.ID..' '..p.id..' '..p.prop_id..' '..p.graph)end
end
end
end
if state.index>=state.floor.GroupInstanceList.Length then state.done=true;log('END') end
end)
if not ok then state.done=true;log('ERROR '..tostring(err))end
end
end