33 lines
1.6 KiB
Lua
33 lines
1.6 KiB
Lua
-- Named runtime method handles only; one method per heartbeat, no invocation.
|
|
do
|
|
local targets={
|
|
{'RPG.Client.GridFightModule','_StartTutorialLevel'},
|
|
{'RPG.Client.GridFightStageNode','_RefreshCachedFields'},
|
|
{'RPG.Client.GridFightStageNode','UpdateRouteNode'},
|
|
{'RPG.Client.GridFightGameSession','Sync'},
|
|
{'RPG.GameCore.GameCoreConfigLoader','LoadJsonConfig'},
|
|
{'RPG.GameCore.GameCoreConfigLoader','LoadGridFightStageTemplateConfig'}
|
|
}
|
|
_G.__gacCwRunHandles1=_G.__gacCwRunHandles1 or 1
|
|
local index=_G.__gacCwRunHandles1
|
|
if index>#targets then return end
|
|
local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60)
|
|
local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager
|
|
local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager)
|
|
if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end
|
|
_G.__gacCwRunHandles1=index+1
|
|
local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_RUN_HANDLE] '..tostring(v))end
|
|
local good,result=pcall(function()
|
|
local name,method=targets[index][1],targets[index][2]
|
|
local a=typeof(CS.RPG.Client.GridFightModule).Assembly
|
|
local b=typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly
|
|
local t=a:GetType(name) or b:GetType(name)
|
|
if not t then return name..' TYPE_MISSING' end
|
|
local m=t:GetMethod(method,flags)
|
|
if not m then return name..' '..method..' METHOD_MISSING' end
|
|
return name..' '..method..' '..tostring(m.MethodHandle.Value)..' signature='..tostring(m)
|
|
end)
|
|
log(tostring(good)..' '..tostring(result))
|
|
if index==#targets then log('END')end
|
|
end
|