Update GaCy-GO
This commit is contained in:
1 parent
da8a32f60d
commit
0cbe460e49
345 files changed
+98202
-77559
No files matched your search
@@ -0,0 +1,34 @@
|
||||
-- Two exact established CW/network types, metadata only. No request sending,
|
||||
-- callbacks, scene loading, run mutation or assembly/type enumeration.
|
||||
do local function capture()
|
||||
local s=_G.__gacCwOrbBonfireCallbacks1 or {target=1,index=0};_G.__gacCwOrbBonfireCallbacks1=s
|
||||
if s.done 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
|
||||
local names={'RPG.Client.GridFightModule','RPG.Client.NetworkManager'}
|
||||
local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_ORB_BONFIRE_CALLBACKS] '..tostring(v))end
|
||||
if s.target>#names then s.done=true;log('END');return end
|
||||
if not s.methods then
|
||||
s.t=typeof(CS.RPG.Client.GridFightModule).Assembly:GetType(names[s.target])
|
||||
if not s.t then log('MISSING '..names[s.target]);s.target=s.target+1;return end
|
||||
s.methods=s.t:GetMethods(flags);s.index=0
|
||||
if s.methods.Length>8192 then error('exact-type method bound')end
|
||||
log('TYPE '..s.t.FullName..' count='..s.methods.Length)
|
||||
end
|
||||
-- Name checks are cheap; limit them independently of the detailed formatting.
|
||||
-- A time budget also stops the chunk if this Client's reflection is slower.
|
||||
local start=CS.UnityEngine.Time.realtimeSinceStartup
|
||||
local formatted=0
|
||||
for n=1,64 do
|
||||
if s.index>=s.methods.Length then s.target=s.target+1;s.methods=nil;s.t=nil;return end
|
||||
local m=s.methods[s.index];s.index=s.index+1
|
||||
local name=m.Name
|
||||
if m.DeclaringType==s.t and (name:find('Orb',1,true) or name:find('Bonfire',1,true))then
|
||||
log('METHOD '..s.t.FullName..' '..tostring(m)..' HANDLE '..tostring(m.MethodHandle.Value))
|
||||
formatted=formatted+1
|
||||
end
|
||||
if formatted>=8 or CS.UnityEngine.Time.realtimeSinceStartup-start>0.002 then return end
|
||||
end
|
||||
end local ok,e=pcall(capture);if not ok then _G.__gacCwOrbBonfireCallbacks1={done=true};CS.UnityEngine.Debug.Log('[GAC_CW_ORB_BONFIRE_CALLBACKS] ERROR '..tostring(e))end end
|
||||
Reference in new issue
Block a user