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,48 @@
|
||||
-- Exact existing ComicDessert services/Start response only; eight members per
|
||||
-- non-battle heartbeat. No Start request, callback, constructor or scene call.
|
||||
do local function capture()
|
||||
local s=_G.__gacComicStartMetadata1 or {target=1,index=0};_G.__gacComicStartMetadata1=s
|
||||
if s.done then return end
|
||||
local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60)
|
||||
local gm=CS.RPG.Client.GlobalVars.s_GamePhaseManager
|
||||
local phase=gm and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(gm)
|
||||
if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end
|
||||
local module=CS.RPG.Client.GlobalVars.s_ModuleManager.ComicDessertModule
|
||||
if not module then return end
|
||||
local log=function(v)CS.UnityEngine.Debug.Log('[GAC_COMIC_START_METADATA] '..tostring(v))end
|
||||
if not s.t then
|
||||
if s.target==1 then
|
||||
local service=module.NetworkService;s.t=service and service:GetType()
|
||||
elseif s.target==2 then
|
||||
local service=module.LevelStartFlowService;s.t=service and service:GetType()
|
||||
if s.t then
|
||||
s.nested=s.t:GetNestedTypes(flags)
|
||||
if s.nested.Length>32 then error('exact start-flow nested-type bound')end
|
||||
end
|
||||
elseif s.target==3 then
|
||||
local network=module.NetworkService
|
||||
local method=network and network:GetType():GetMethod('OFHMHPKEECI',flags)
|
||||
local args=method and method.ReturnType:GetGenericArguments()
|
||||
s.t=args and args.Length==1 and args[0] or nil
|
||||
s.properties=true
|
||||
elseif s.nested and s.target-4<s.nested.Length then
|
||||
s.t=s.nested[s.target-4]
|
||||
else s.done=true;log('END');return end
|
||||
if not s.t then log('MISSING_TARGET '..s.target);s.target=s.target+1;return end
|
||||
log('TYPE '..s.target..' '..s.t.FullName)
|
||||
s.members=s.properties and s.t:GetProperties(flags) or s.t:GetMethods(flags)
|
||||
s.index=0
|
||||
end
|
||||
for n=1,8 do
|
||||
if s.index>=s.members.Length then s.target=s.target+1;s.t=nil;s.members=nil;s.properties=false;return end
|
||||
local member=s.members[s.index];s.index=s.index+1
|
||||
if member.DeclaringType==s.t then
|
||||
if s.properties then
|
||||
local getter=member:GetGetMethod(true)
|
||||
log('PROPERTY '..member.Name..' '..member.PropertyType.FullName..' GETTER '..tostring(getter and getter.MethodHandle.Value))
|
||||
else
|
||||
log('METHOD '..tostring(member)..' HANDLE '..tostring(member.MethodHandle.Value))
|
||||
end
|
||||
end
|
||||
end
|
||||
end local ok,e=pcall(capture);if not ok then _G.__gacComicStartMetadata1={done=true};CS.UnityEngine.Debug.Log('[GAC_COMIC_START_METADATA] ERROR '..tostring(e))end end
|
||||
Reference in new issue
Block a user