30 lines
1.5 KiB
Lua
30 lines
1.5 KiB
Lua
-- Bounded read-only entry-state inspection. No UI calls or gameplay writes.
|
|||
|
|
do
|
||
|
|
if not _G.__gacCwEntryState2 then
|
||
|
|
_G.__gacCwEntryState2=true
|
||
|
|
local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_ENTRY_STATE] '..tostring(v))end
|
||
|
|
local ok,err=pcall(function()
|
||
|
|
local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60)
|
||
|
|
local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule
|
||
|
|
local t=module:GetType()
|
||
|
|
for _,name in ipairs({'SeasonID','SubSeasonID','CurGame','PlayerProfile','TutorialStageConfigs'})do
|
||
|
|
local good,value=pcall(function()return module[name]end)
|
||
|
|
log('VALUE '..name..' '..tostring(good)..' '..tostring(value))
|
||
|
|
end
|
||
|
|
local names={'CheckUnlock','ShouldStartCurrentSeasonTutorial','_ShouldStartFirstSeasonTutorial','IsFinishedTutorialThisSeason','_StartTutorialLevel','_GetTutorialProgressID','StartGame','_GetTutorialStageConfig'}
|
||
|
|
for _,name in ipairs(names)do
|
||
|
|
local m=t:GetMethod(name,flags)
|
||
|
|
log('METHOD '..tostring(m)..' TOKEN '..tostring(m and m.MetadataToken))
|
||
|
|
end
|
||
|
|
local route=typeof(CS.RPG.Client.GridFightStageRoute)
|
||
|
|
local constructors=route:GetConstructors(flags)
|
||
|
|
for i=0,constructors.Length-1 do log('ROUTE_CTOR '..tostring(constructors[i])..' TOKEN '..constructors[i].MetadataToken)end
|
||
|
|
local methods=route:GetMethods(flags)
|
||
|
|
for i=0,math.min(methods.Length-1,31)do
|
||
|
|
local m=methods[i]
|
||
|
|
if m.DeclaringType==route then log('ROUTE_METHOD '..tostring(m)..' TOKEN '..m.MetadataToken)end
|
||
|
|
end
|
||
|
|
end)
|
||
|
|
if not ok then log('ERROR '..tostring(err))end
|
||
|
|
end
|
||
|
|
end
|