Files
Dec2017-Script-Dump/UnityEngine/Events/UnityEvent.5.cs
T
2026-06-04 11:42:34 +02:00

68 lines
1.9 KiB
C#

using System;
using System.Reflection;
using UnityEngine.Scripting;
using UnityEngineInternal;
namespace UnityEngine.Events
{
// Token: 0x0200048A RID: 1162
[Serializable]
public abstract class UnityEvent<T0, T1, T2, T3> : UnityEventBase
{
// Token: 0x06003A0D RID: 14861 RVA: 0x000654D4 File Offset: 0x000636D4
[RequiredByNativeCode]
public UnityEvent()
{
}
// Token: 0x06003A0E RID: 14862 RVA: 0x000654EC File Offset: 0x000636EC
public void AddListener(UnityAction<T0, T1, T2, T3> call)
{
base.AddCall(UnityEvent<T0, T1, T2, T3>.GetDelegate(call));
}
// Token: 0x06003A0F RID: 14863 RVA: 0x000654FC File Offset: 0x000636FC
public void RemoveListener(UnityAction<T0, T1, T2, T3> call)
{
base.RemoveListener(call.Target, call.GetMethodInfo());
}
// Token: 0x06003A10 RID: 14864 RVA: 0x00065514 File Offset: 0x00063714
protected override MethodInfo FindMethod_Impl(string name, object targetObj)
{
return UnityEventBase.GetValidMethodInfo(targetObj, name, new Type[]
{
typeof(T0),
typeof(T1),
typeof(T2),
typeof(T3)
});
}
// Token: 0x06003A11 RID: 14865 RVA: 0x0006556C File Offset: 0x0006376C
internal override BaseInvokableCall GetDelegate(object target, MethodInfo theFunction)
{
return new InvokableCall<T0, T1, T2, T3>(target, theFunction);
}
// Token: 0x06003A12 RID: 14866 RVA: 0x00065588 File Offset: 0x00063788
private static BaseInvokableCall GetDelegate(UnityAction<T0, T1, T2, T3> action)
{
return new InvokableCall<T0, T1, T2, T3>(action);
}
// Token: 0x06003A13 RID: 14867 RVA: 0x000655A4 File Offset: 0x000637A4
public void Invoke(T0 arg0, T1 arg1, T2 arg2, T3 arg3)
{
this.m_InvokeArray[0] = arg0;
this.m_InvokeArray[1] = arg1;
this.m_InvokeArray[2] = arg2;
this.m_InvokeArray[3] = arg3;
base.Invoke(this.m_InvokeArray);
}
// Token: 0x04001196 RID: 4502
private readonly object[] m_InvokeArray = new object[4];
}
}