using System; using System.Reflection; using UnityEngine.Scripting; using UnityEngineInternal; namespace UnityEngine.Events { // Token: 0x0200048A RID: 1162 [Serializable] public abstract class UnityEvent : 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 call) { base.AddCall(UnityEvent.GetDelegate(call)); } // Token: 0x06003A0F RID: 14863 RVA: 0x000654FC File Offset: 0x000636FC public void RemoveListener(UnityAction 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(target, theFunction); } // Token: 0x06003A12 RID: 14866 RVA: 0x00065588 File Offset: 0x00063788 private static BaseInvokableCall GetDelegate(UnityAction action) { return new InvokableCall(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]; } }