40 lines
1.8 KiB
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
|
|
|