scripts
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
using System;
|
||||
|
||||
namespace UnityEngine
|
||||
{
|
||||
// Token: 0x020003B0 RID: 944
|
||||
internal class AndroidReflection
|
||||
{
|
||||
// Token: 0x06003716 RID: 14102 RVA: 0x0005BBBC File Offset: 0x00059DBC
|
||||
public static bool IsPrimitive(Type t)
|
||||
{
|
||||
return t.IsPrimitive;
|
||||
}
|
||||
|
||||
// Token: 0x06003717 RID: 14103 RVA: 0x0005BBD8 File Offset: 0x00059DD8
|
||||
public static bool IsAssignableFrom(Type t, Type from)
|
||||
{
|
||||
return t.IsAssignableFrom(from);
|
||||
}
|
||||
|
||||
// Token: 0x06003718 RID: 14104 RVA: 0x0005BBF4 File Offset: 0x00059DF4
|
||||
private static IntPtr GetStaticMethodID(string clazz, string methodName, string signature)
|
||||
{
|
||||
IntPtr intPtr = AndroidJNISafe.FindClass(clazz);
|
||||
IntPtr staticMethodID;
|
||||
try
|
||||
{
|
||||
staticMethodID = AndroidJNISafe.GetStaticMethodID(intPtr, methodName, signature);
|
||||
}
|
||||
finally
|
||||
{
|
||||
AndroidJNISafe.DeleteLocalRef(intPtr);
|
||||
}
|
||||
return staticMethodID;
|
||||
}
|
||||
|
||||
// Token: 0x06003719 RID: 14105 RVA: 0x0005BC34 File Offset: 0x00059E34
|
||||
public static IntPtr GetConstructorMember(IntPtr jclass, string signature)
|
||||
{
|
||||
jvalue[] array = new jvalue[2];
|
||||
IntPtr intPtr;
|
||||
try
|
||||
{
|
||||
array[0].l = jclass;
|
||||
array[1].l = AndroidJNISafe.NewStringUTF(signature);
|
||||
intPtr = AndroidJNISafe.CallStaticObjectMethod(AndroidReflection.s_ReflectionHelperClass, AndroidReflection.s_ReflectionHelperGetConstructorID, array);
|
||||
}
|
||||
finally
|
||||
{
|
||||
AndroidJNISafe.DeleteLocalRef(array[1].l);
|
||||
}
|
||||
return intPtr;
|
||||
}
|
||||
|
||||
// Token: 0x0600371A RID: 14106 RVA: 0x0005BCAC File Offset: 0x00059EAC
|
||||
public static IntPtr GetMethodMember(IntPtr jclass, string methodName, string signature, bool isStatic)
|
||||
{
|
||||
jvalue[] array = new jvalue[4];
|
||||
IntPtr intPtr;
|
||||
try
|
||||
{
|
||||
array[0].l = jclass;
|
||||
array[1].l = AndroidJNISafe.NewStringUTF(methodName);
|
||||
array[2].l = AndroidJNISafe.NewStringUTF(signature);
|
||||
array[3].z = isStatic;
|
||||
intPtr = AndroidJNISafe.CallStaticObjectMethod(AndroidReflection.s_ReflectionHelperClass, AndroidReflection.s_ReflectionHelperGetMethodID, array);
|
||||
}
|
||||
finally
|
||||
{
|
||||
AndroidJNISafe.DeleteLocalRef(array[1].l);
|
||||
AndroidJNISafe.DeleteLocalRef(array[2].l);
|
||||
}
|
||||
return intPtr;
|
||||
}
|
||||
|
||||
// Token: 0x0600371B RID: 14107 RVA: 0x0005BD54 File Offset: 0x00059F54
|
||||
public static IntPtr GetFieldMember(IntPtr jclass, string fieldName, string signature, bool isStatic)
|
||||
{
|
||||
jvalue[] array = new jvalue[4];
|
||||
IntPtr intPtr;
|
||||
try
|
||||
{
|
||||
array[0].l = jclass;
|
||||
array[1].l = AndroidJNISafe.NewStringUTF(fieldName);
|
||||
array[2].l = AndroidJNISafe.NewStringUTF(signature);
|
||||
array[3].z = isStatic;
|
||||
intPtr = AndroidJNISafe.CallStaticObjectMethod(AndroidReflection.s_ReflectionHelperClass, AndroidReflection.s_ReflectionHelperGetFieldID, array);
|
||||
}
|
||||
finally
|
||||
{
|
||||
AndroidJNISafe.DeleteLocalRef(array[1].l);
|
||||
AndroidJNISafe.DeleteLocalRef(array[2].l);
|
||||
}
|
||||
return intPtr;
|
||||
}
|
||||
|
||||
// Token: 0x0600371C RID: 14108 RVA: 0x0005BDFC File Offset: 0x00059FFC
|
||||
public static IntPtr NewProxyInstance(int delegateHandle, IntPtr interfaze)
|
||||
{
|
||||
jvalue[] array = new jvalue[2];
|
||||
array[0].i = delegateHandle;
|
||||
array[1].l = interfaze;
|
||||
return AndroidJNISafe.CallStaticObjectMethod(AndroidReflection.s_ReflectionHelperClass, AndroidReflection.s_ReflectionHelperNewProxyInstance, array);
|
||||
}
|
||||
|
||||
// Token: 0x04000C8E RID: 3214
|
||||
private const string RELECTION_HELPER_CLASS_NAME = "com/unity3d/player/ReflectionHelper";
|
||||
|
||||
// Token: 0x04000C8F RID: 3215
|
||||
private static readonly GlobalJavaObjectRef s_ReflectionHelperClass = new GlobalJavaObjectRef(AndroidJNISafe.FindClass("com/unity3d/player/ReflectionHelper"));
|
||||
|
||||
// Token: 0x04000C90 RID: 3216
|
||||
private static readonly IntPtr s_ReflectionHelperGetConstructorID = AndroidReflection.GetStaticMethodID("com/unity3d/player/ReflectionHelper", "getConstructorID", "(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Constructor;");
|
||||
|
||||
// Token: 0x04000C91 RID: 3217
|
||||
private static readonly IntPtr s_ReflectionHelperGetMethodID = AndroidReflection.GetStaticMethodID("com/unity3d/player/ReflectionHelper", "getMethodID", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/reflect/Method;");
|
||||
|
||||
// Token: 0x04000C92 RID: 3218
|
||||
private static readonly IntPtr s_ReflectionHelperGetFieldID = AndroidReflection.GetStaticMethodID("com/unity3d/player/ReflectionHelper", "getFieldID", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/reflect/Field;");
|
||||
|
||||
// Token: 0x04000C93 RID: 3219
|
||||
private static readonly IntPtr s_ReflectionHelperNewProxyInstance = AndroidReflection.GetStaticMethodID("com/unity3d/player/ReflectionHelper", "newProxyInstance", "(ILjava/lang/Class;)Ljava/lang/Object;");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user