Files
GaCy-GO/tools/cw_entry_state_probe.lua
T

31 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