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

52 lines
1.7 KiB
C#

using System;
using System.Diagnostics;
using System.Reflection;
using UnityEngineInternal;
namespace UnityEngine.Events
{
// Token: 0x02000478 RID: 1144
internal class InvokableCall<T1, T2> : BaseInvokableCall
{
// Token: 0x0600398E RID: 14734 RVA: 0x000640F8 File Offset: 0x000622F8
public InvokableCall(object target, MethodInfo theFunction)
: base(target, theFunction)
{
this.Delegate = (UnityAction<T1, T2>)theFunction.CreateDelegate(typeof(UnityAction<T1, T2>), target);
}
// Token: 0x0600398F RID: 14735 RVA: 0x00064120 File Offset: 0x00062320
public InvokableCall(UnityAction<T1, T2> action)
{
this.Delegate += action;
}
// Token: 0x1400002E RID: 46
// (add) Token: 0x06003990 RID: 14736 RVA: 0x00064130 File Offset: 0x00062330
// (remove) Token: 0x06003991 RID: 14737 RVA: 0x00064168 File Offset: 0x00062368
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
protected event UnityAction<T1, T2> Delegate;
// Token: 0x06003992 RID: 14738 RVA: 0x000641A0 File Offset: 0x000623A0
public override void Invoke(object[] args)
{
if (args.Length != 2)
{
throw new ArgumentException("Passed argument 'args' is invalid size. Expected size is 1");
}
BaseInvokableCall.ThrowOnInvalidArg<T1>(args[0]);
BaseInvokableCall.ThrowOnInvalidArg<T2>(args[1]);
if (BaseInvokableCall.AllowInvoke(this.Delegate))
{
this.Delegate((T1)((object)args[0]), (T2)((object)args[1]));
}
}
// Token: 0x06003993 RID: 14739 RVA: 0x00064200 File Offset: 0x00062400
public override bool Find(object targetObj, MethodInfo method)
{
return this.Delegate.Target == targetObj && this.Delegate.GetMethodInfo().Equals(method);
}
}
}