25 lines
1.3 KiB
Lua
25 lines
1.3 KiB
Lua
-- Read current CW role/player containers only; no game action.
|
|||
|
|
do
|
||
|
|
if _G.__gacCwLiveRoleState1 then return end;_G.__gacCwLiveRoleState1=true
|
||
|
|
local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_LIVE_ROLES] '..tostring(v))end
|
||
|
|
local ok,err=pcall(function()
|
||
|
|
local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60)
|
||
|
|
local session=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule.CurGameSession
|
||
|
|
if not session then log('NO_SESSION');return end
|
||
|
|
log('SESSION '..session:GetType().FullName)
|
||
|
|
local t=session:GetType();local fs=t:GetFields(flags)
|
||
|
|
for i=0,math.min(fs.Length-1,95)do
|
||
|
|
local f=fs[i];local n=f.Name:lower()
|
||
|
|
if n:find('role') or n:find('player') or n:find('team') or n:find('shop')then
|
||
|
|
local v=f:GetValue(session);log('FIELD '..tostring(f)..' VALUE '..tostring(v))
|
||
|
|
if v then
|
||
|
|
local vt=v:GetType();local fields=vt:GetFields(flags)
|
||
|
|
for j=0,math.min(fields.Length-1,63)do local x=fields[j];local xn=x.Name:lower();if xn:find('role') or xn:find('count') or xn:find('level') or xn:find('gold') then
|
||
|
|
local z=x:GetValue(v);local count=nil;if z then pcall(function()count=z.Count end)end;log('INNER '..tostring(x)..' VALUE '..tostring(z)..' COUNT '..tostring(count))
|
||
|
|
end end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end)
|
||
|
|
if not ok then log('ERROR '..tostring(err))end
|
||
|
|
end
|