Files
2026-06-04 11:42:34 +02:00

124 lines
4.5 KiB
C#

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;");
}
}