using System; using System.Reflection; using UnityEngine.Scripting; using UnityEngineInternal; namespace UnityEngine.Events { // Token: 0x02000488 RID: 1160 [Serializable] public abstract class UnityEvent : UnityEventBase { // Token: 0x06003A02 RID: 14850 RVA: 0x000653D4 File Offset: 0x000635D4 [RequiredByNativeCode] public UnityEvent() { } // Token: 0x06003A03 RID: 14851 RVA: 0x000653EC File Offset: 0x000635EC public void AddListener(UnityAction call) { base.AddCall(UnityEvent.GetDelegate(call)); } // Token: 0x06003A04 RID: 14852 RVA: 0x000653FC File Offset: 0x000635FC public void RemoveListener(UnityAction call) { base.RemoveListener(call.Target, call.GetMethodInfo()); } // Token: 0x06003A05 RID: 14853 RVA: 0x00065414 File Offset: 0x00063614 protected override MethodInfo FindMethod_Impl(string name, object targetObj) { return UnityEventBase.GetValidMethodInfo(targetObj, name, new Type[] { typeof(T0), typeof(T1), typeof(T2) }); } // Token: 0x06003A06 RID: 14854 RVA: 0x00065460 File Offset: 0x00063660 internal override BaseInvokableCall GetDelegate(object target, MethodInfo theFunction) { return new InvokableCall(target, theFunction); } // Token: 0x06003A07 RID: 14855 RVA: 0x0006547C File Offset: 0x0006367C private static BaseInvokableCall GetDelegate(UnityAction action) { return new InvokableCall(action); } // Token: 0x06003A08 RID: 14856 RVA: 0x00065498 File Offset: 0x00063698 public void Invoke(T0 arg0, T1 arg1, T2 arg2) { this.m_InvokeArray[0] = arg0; this.m_InvokeArray[1] = arg1; this.m_InvokeArray[2] = arg2; base.Invoke(this.m_InvokeArray); } // Token: 0x04001195 RID: 4501 private readonly object[] m_InvokeArray = new object[3]; } }