Files
GaCy-GO/tools/cw_settlement_schema.lua
T

27 lines
1.4 KiB
Lua

-- Named settlement-rule metadata only, one target per heartbeat, no loaders.
do
local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60)
local targets={
{'RPG.GameCore.GridFightPenaltyRuleConfigExcelTable',true},
{'RPG.GameCore.GridFightPenaltyRuleExcelTable',true},
{'RPG.GameCore.GridFightPenaltyRuleConfigRow',true},
{'RPG.GameCore.GridFightPenaltyRuleRow',true},
{'RPG.Client.GridFightVictoryCountRule',false},
{'RPG.Client.GridFightPenaltyRule',false}
}
_G.__gacCwSettlementSchema1=_G.__gacCwSettlementSchema1 or 1
local i=_G.__gacCwSettlementSchema1;if i>#targets then return end;_G.__gacCwSettlementSchema1=i+1
local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_SETTLEMENT_SCHEMA] '..tostring(v))end
local ok,err=pcall(function()
local item=targets[i];local assembly=item[2] and typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly or typeof(CS.RPG.Client.GridFightModule).Assembly
local t=assembly:GetType(item[1]);log('TYPE '..item[1]..' '..tostring(t));if not t then return end
local fs=t:GetFields(flags);for j=0,math.min(fs.Length-1,31)do if i~=6 then log('FIELD '..tostring(fs[j]))end end
local ms=t:GetMethods(flags)
for j=0,math.min(ms.Length-1,31)do local m=ms[j]
if m.DeclaringType==t then log('METHOD '..tostring(m)..' HANDLE '..tostring(m.MethodHandle.Value))end
end
end)
if not ok then log('ERROR '..tostring(err))end
if i==#targets then log('END')end
end