using System; using System.Diagnostics; using System.Reflection; using UnityEngineInternal; namespace UnityEngine.Events { // Token: 0x02000477 RID: 1143 internal class InvokableCall : BaseInvokableCall { // Token: 0x06003988 RID: 14728 RVA: 0x00063FC4 File Offset: 0x000621C4 public InvokableCall(object target, MethodInfo theFunction) : base(target, theFunction) { this.Delegate += (UnityAction)theFunction.CreateDelegate(typeof(UnityAction), target); } // Token: 0x06003989 RID: 14729 RVA: 0x00063FEC File Offset: 0x000621EC public InvokableCall(UnityAction action) { this.Delegate += action; } // Token: 0x1400002D RID: 45 // (add) Token: 0x0600398A RID: 14730 RVA: 0x00063FFC File Offset: 0x000621FC // (remove) Token: 0x0600398B RID: 14731 RVA: 0x00064034 File Offset: 0x00062234 [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] protected event UnityAction Delegate; // Token: 0x0600398C RID: 14732 RVA: 0x0006406C File Offset: 0x0006226C public override void Invoke(object[] args) { if (args.Length != 1) { throw new ArgumentException("Passed argument 'args' is invalid size. Expected size is 1"); } BaseInvokableCall.ThrowOnInvalidArg(args[0]); if (BaseInvokableCall.AllowInvoke(this.Delegate)) { this.Delegate((T1)((object)args[0])); } } // Token: 0x0600398D RID: 14733 RVA: 0x000640BC File Offset: 0x000622BC public override bool Find(object targetObj, MethodInfo method) { return this.Delegate.Target == targetObj && this.Delegate.GetMethodInfo().Equals(method); } } }