/
*
*
*
获得 MonoMethod
*
getMethod(
"UnityEngine"
,
"UnityEngine"
,
"Application"
,
"get_identifier"
,
0
)
*
getMethod(
"UnityEngine"
,
'UnityEngine'
,
'Debug'
,
"LogError"
,
1
,true)
*
@param {String} imageName
*
@param {String} NameSpace
*
@param {String} className
*
@param {String} FunctName
*
@param {
Int
} argsCount
*
@param {Boolean} showDetail
*
/
function getMethod(imageName,NameSpace,className,FunctName,argsCount,showDetail){
if
(imageName
=
=
undefined ||NameSpace
=
=
undefined||className
=
=
undefined||FunctName
=
=
undefined||argsCount
=
=
undefined)
return
ptr(
0
)
if
(showDetail
=
=
undefined) showDetail
=
false
/
/
var mono_thread_attach
=
new NativeFunction(Module.findExportByName(soName,
"mono_thread_attach"
),
'pointer'
,[
'pointer'
])
/
/
var mono_get_root_domain
=
new NativeFunction(Module.findExportByName(soName,
"mono_get_root_domain"
),
'pointer'
,[])
var mono_class_from_name
=
new NativeFunction(Module.findExportByName(soName,
"mono_class_from_name"
),
'pointer'
,[
'pointer'
,
'pointer'
,
'pointer'
])
var mono_class_get_method_from_name
=
new NativeFunction(Module.findExportByName(soName,
"mono_class_get_method_from_name"
),
'pointer'
,[
'pointer'
,
'pointer'
,
'int'
])
var mono_image_loaded
=
new NativeFunction(Module.findExportByName(soName,
"mono_image_loaded"
),
'pointer'
,[
'pointer'
])
/
/
mono_thread_attach(mono_get_root_domain())
var p_image
=
getImageByName(imageName)
=
=
0
? mono_image_loaded(allcStr(imageName)) : getImageByName(imageName)
var p_class
=
mono_class_from_name(ptr(p_image),allcStr(NameSpace),allcStr(className))
var p_method
=
mono_class_get_method_from_name(p_class,allcStr(FunctName),argsCount)
if
(!showDetail)
return
ptr(p_method)
LOG(getLine(
85
),LogColor.C33)
LOG(
"MonoImage\t---->\t"
+
p_image,LogColor.C36)
LOG(
"MonoClass\t---->\t"
+
p_class,LogColor.C36)
LOG(
"MonoMethod\t---->\t"
+
p_method
+
" ("
+
ReadMethodName(p_method)
+
")"
,LogColor.C36)
LOG(getLine(
85
),LogColor.C33)
}