scripts
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
namespace UnityEngine
|
||||
{
|
||||
// Token: 0x020003AF RID: 943
|
||||
public class AndroidJavaProxy
|
||||
{
|
||||
// Token: 0x0600370C RID: 14092 RVA: 0x0005B89C File Offset: 0x00059A9C
|
||||
public AndroidJavaProxy(string javaInterface)
|
||||
: this(new AndroidJavaClass(javaInterface))
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600370D RID: 14093 RVA: 0x0005B8AC File Offset: 0x00059AAC
|
||||
public AndroidJavaProxy(AndroidJavaClass javaInterface)
|
||||
{
|
||||
this.javaInterface = javaInterface;
|
||||
}
|
||||
|
||||
// Token: 0x0600370E RID: 14094 RVA: 0x0005B8BC File Offset: 0x00059ABC
|
||||
public virtual AndroidJavaObject Invoke(string methodName, object[] args)
|
||||
{
|
||||
Exception ex = null;
|
||||
BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic;
|
||||
Type[] array = new Type[args.Length];
|
||||
for (int i = 0; i < args.Length; i++)
|
||||
{
|
||||
array[i] = ((args[i] != null) ? args[i].GetType() : typeof(AndroidJavaObject));
|
||||
}
|
||||
try
|
||||
{
|
||||
MethodInfo method = base.GetType().GetMethod(methodName, bindingFlags, null, array, null);
|
||||
if (method != null)
|
||||
{
|
||||
return _AndroidJNIHelper.Box(method.Invoke(this, args));
|
||||
}
|
||||
}
|
||||
catch (TargetInvocationException ex2)
|
||||
{
|
||||
ex = ex2.InnerException;
|
||||
}
|
||||
catch (Exception ex3)
|
||||
{
|
||||
ex = ex3;
|
||||
}
|
||||
string[] array2 = new string[args.Length];
|
||||
for (int j = 0; j < array.Length; j++)
|
||||
{
|
||||
array2[j] = array[j].ToString();
|
||||
}
|
||||
if (ex != null)
|
||||
{
|
||||
throw new TargetInvocationException(string.Concat(new object[]
|
||||
{
|
||||
base.GetType(),
|
||||
".",
|
||||
methodName,
|
||||
"(",
|
||||
string.Join(",", array2),
|
||||
")"
|
||||
}), ex);
|
||||
}
|
||||
throw new Exception(string.Concat(new object[]
|
||||
{
|
||||
"No such proxy method: ",
|
||||
base.GetType(),
|
||||
".",
|
||||
methodName,
|
||||
"(",
|
||||
string.Join(",", array2),
|
||||
")"
|
||||
}));
|
||||
}
|
||||
|
||||
// Token: 0x0600370F RID: 14095 RVA: 0x0005BA48 File Offset: 0x00059C48
|
||||
public virtual AndroidJavaObject Invoke(string methodName, AndroidJavaObject[] javaArgs)
|
||||
{
|
||||
object[] array = new object[javaArgs.Length];
|
||||
for (int i = 0; i < javaArgs.Length; i++)
|
||||
{
|
||||
array[i] = _AndroidJNIHelper.Unbox(javaArgs[i]);
|
||||
}
|
||||
return this.Invoke(methodName, array);
|
||||
}
|
||||
|
||||
// Token: 0x06003710 RID: 14096 RVA: 0x0005BA90 File Offset: 0x00059C90
|
||||
public virtual bool equals(AndroidJavaObject obj)
|
||||
{
|
||||
IntPtr intPtr = ((obj != null) ? obj.GetRawObject() : IntPtr.Zero);
|
||||
return AndroidJNI.IsSameObject(this.GetProxy().GetRawObject(), intPtr);
|
||||
}
|
||||
|
||||
// Token: 0x06003711 RID: 14097 RVA: 0x0005BAD0 File Offset: 0x00059CD0
|
||||
public virtual int hashCode()
|
||||
{
|
||||
jvalue[] array = new jvalue[1];
|
||||
array[0].l = this.GetProxy().GetRawObject();
|
||||
return AndroidJNISafe.CallStaticIntMethod(AndroidJavaProxy.s_JavaLangSystemClass, AndroidJavaProxy.s_HashCodeMethodID, array);
|
||||
}
|
||||
|
||||
// Token: 0x06003712 RID: 14098 RVA: 0x0005BB18 File Offset: 0x00059D18
|
||||
public virtual string toString()
|
||||
{
|
||||
return this.ToString() + " <c# proxy java object>";
|
||||
}
|
||||
|
||||
// Token: 0x06003713 RID: 14099 RVA: 0x0005BB40 File Offset: 0x00059D40
|
||||
internal AndroidJavaObject GetProxy()
|
||||
{
|
||||
if (this.proxyObject == null)
|
||||
{
|
||||
this.proxyObject = AndroidJavaObject.AndroidJavaObjectDeleteLocalRef(AndroidJNIHelper.CreateJavaProxy(this));
|
||||
}
|
||||
return this.proxyObject;
|
||||
}
|
||||
|
||||
// Token: 0x04000C8A RID: 3210
|
||||
public readonly AndroidJavaClass javaInterface;
|
||||
|
||||
// Token: 0x04000C8B RID: 3211
|
||||
internal AndroidJavaObject proxyObject;
|
||||
|
||||
// Token: 0x04000C8C RID: 3212
|
||||
private static readonly GlobalJavaObjectRef s_JavaLangSystemClass = new GlobalJavaObjectRef(AndroidJNISafe.FindClass("java/lang/System"));
|
||||
|
||||
// Token: 0x04000C8D RID: 3213
|
||||
private static readonly IntPtr s_HashCodeMethodID = AndroidJNIHelper.GetMethodID(AndroidJavaProxy.s_JavaLangSystemClass, "identityHashCode", "(Ljava/lang/Object;)I", true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user