This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
+165
View File
@@ -0,0 +1,165 @@
using System;
using UnityEngine.Serialization;
namespace UnityEngine.Events
{
// Token: 0x02000474 RID: 1140
[Serializable]
internal class ArgumentCache : ISerializationCallbackReceiver
{
// Token: 0x17000D32 RID: 3378
// (get) Token: 0x0600396E RID: 14702 RVA: 0x00063C2C File Offset: 0x00061E2C
// (set) Token: 0x0600396F RID: 14703 RVA: 0x00063C48 File Offset: 0x00061E48
public Object unityObjectArgument
{
get
{
return this.m_ObjectArgument;
}
set
{
this.m_ObjectArgument = value;
this.m_ObjectArgumentAssemblyTypeName = ((!(value != null)) ? string.Empty : value.GetType().AssemblyQualifiedName);
}
}
// Token: 0x17000D33 RID: 3379
// (get) Token: 0x06003970 RID: 14704 RVA: 0x00063C7C File Offset: 0x00061E7C
public string unityObjectArgumentAssemblyTypeName
{
get
{
return this.m_ObjectArgumentAssemblyTypeName;
}
}
// Token: 0x17000D34 RID: 3380
// (get) Token: 0x06003971 RID: 14705 RVA: 0x00063C98 File Offset: 0x00061E98
// (set) Token: 0x06003972 RID: 14706 RVA: 0x00063CB4 File Offset: 0x00061EB4
public int intArgument
{
get
{
return this.m_IntArgument;
}
set
{
this.m_IntArgument = value;
}
}
// Token: 0x17000D35 RID: 3381
// (get) Token: 0x06003973 RID: 14707 RVA: 0x00063CC0 File Offset: 0x00061EC0
// (set) Token: 0x06003974 RID: 14708 RVA: 0x00063CDC File Offset: 0x00061EDC
public float floatArgument
{
get
{
return this.m_FloatArgument;
}
set
{
this.m_FloatArgument = value;
}
}
// Token: 0x17000D36 RID: 3382
// (get) Token: 0x06003975 RID: 14709 RVA: 0x00063CE8 File Offset: 0x00061EE8
// (set) Token: 0x06003976 RID: 14710 RVA: 0x00063D04 File Offset: 0x00061F04
public string stringArgument
{
get
{
return this.m_StringArgument;
}
set
{
this.m_StringArgument = value;
}
}
// Token: 0x17000D37 RID: 3383
// (get) Token: 0x06003977 RID: 14711 RVA: 0x00063D10 File Offset: 0x00061F10
// (set) Token: 0x06003978 RID: 14712 RVA: 0x00063D2C File Offset: 0x00061F2C
public bool boolArgument
{
get
{
return this.m_BoolArgument;
}
set
{
this.m_BoolArgument = value;
}
}
// Token: 0x06003979 RID: 14713 RVA: 0x00063D38 File Offset: 0x00061F38
private void TidyAssemblyTypeName()
{
if (!string.IsNullOrEmpty(this.m_ObjectArgumentAssemblyTypeName))
{
int num = int.MaxValue;
int num2 = this.m_ObjectArgumentAssemblyTypeName.IndexOf(", Version=");
if (num2 != -1)
{
num = Math.Min(num2, num);
}
num2 = this.m_ObjectArgumentAssemblyTypeName.IndexOf(", Culture=");
if (num2 != -1)
{
num = Math.Min(num2, num);
}
num2 = this.m_ObjectArgumentAssemblyTypeName.IndexOf(", PublicKeyToken=");
if (num2 != -1)
{
num = Math.Min(num2, num);
}
if (num != 2147483647)
{
this.m_ObjectArgumentAssemblyTypeName = this.m_ObjectArgumentAssemblyTypeName.Substring(0, num);
}
}
}
// Token: 0x0600397A RID: 14714 RVA: 0x00063DE4 File Offset: 0x00061FE4
public void OnBeforeSerialize()
{
this.TidyAssemblyTypeName();
}
// Token: 0x0600397B RID: 14715 RVA: 0x00063DF0 File Offset: 0x00061FF0
public void OnAfterDeserialize()
{
this.TidyAssemblyTypeName();
}
// Token: 0x04001174 RID: 4468
[FormerlySerializedAs("objectArgument")]
[SerializeField]
private Object m_ObjectArgument;
// Token: 0x04001175 RID: 4469
[FormerlySerializedAs("objectArgumentAssemblyTypeName")]
[SerializeField]
private string m_ObjectArgumentAssemblyTypeName;
// Token: 0x04001176 RID: 4470
[FormerlySerializedAs("intArgument")]
[SerializeField]
private int m_IntArgument;
// Token: 0x04001177 RID: 4471
[FormerlySerializedAs("floatArgument")]
[SerializeField]
private float m_FloatArgument;
// Token: 0x04001178 RID: 4472
[FormerlySerializedAs("stringArgument")]
[SerializeField]
private string m_StringArgument;
// Token: 0x04001179 RID: 4473
[SerializeField]
private bool m_BoolArgument;
}
}
+63
View File
@@ -0,0 +1,63 @@
using System;
using System.Reflection;
namespace UnityEngine.Events
{
// Token: 0x02000475 RID: 1141
internal abstract class BaseInvokableCall
{
// Token: 0x0600397C RID: 14716 RVA: 0x00063DFC File Offset: 0x00061FFC
protected BaseInvokableCall()
{
}
// Token: 0x0600397D RID: 14717 RVA: 0x00063E08 File Offset: 0x00062008
protected BaseInvokableCall(object target, MethodInfo function)
{
if (target == null)
{
throw new ArgumentNullException("target");
}
if (function == null)
{
throw new ArgumentNullException("function");
}
}
// Token: 0x0600397E RID: 14718
public abstract void Invoke(object[] args);
// Token: 0x0600397F RID: 14719 RVA: 0x00063E34 File Offset: 0x00062034
protected static void ThrowOnInvalidArg<T>(object arg)
{
if (arg != null && !(arg is T))
{
throw new ArgumentException(UnityString.Format("Passed argument 'args[0]' is of the wrong type. Type:{0} Expected:{1}", new object[]
{
arg.GetType(),
typeof(T)
}));
}
}
// Token: 0x06003980 RID: 14720 RVA: 0x00063E74 File Offset: 0x00062074
protected static bool AllowInvoke(Delegate @delegate)
{
object target = @delegate.Target;
bool flag;
if (target == null)
{
flag = true;
}
else
{
Object @object = target as Object;
flag = object.ReferenceEquals(@object, null) || @object != null;
}
return flag;
}
// Token: 0x06003981 RID: 14721
public abstract bool Find(object targetObj, MethodInfo method);
}
}
+25
View File
@@ -0,0 +1,25 @@
using System;
using System.Reflection;
namespace UnityEngine.Events
{
// Token: 0x0200047B RID: 1147
internal class CachedInvokableCall<T> : InvokableCall<T>
{
// Token: 0x060039A0 RID: 14752 RVA: 0x000644F4 File Offset: 0x000626F4
public CachedInvokableCall(Object target, MethodInfo theFunction, T argument)
: base(target, theFunction)
{
this.m_Arg1[0] = argument;
}
// Token: 0x060039A1 RID: 14753 RVA: 0x0006451C File Offset: 0x0006271C
public override void Invoke(object[] args)
{
base.Invoke(this.m_Arg1);
}
// Token: 0x0400117F RID: 4479
private readonly object[] m_Arg1 = new object[1];
}
}
+50
View File
@@ -0,0 +1,50 @@
using System;
using System.Diagnostics;
using System.Reflection;
using UnityEngineInternal;
namespace UnityEngine.Events
{
// Token: 0x02000477 RID: 1143
internal class InvokableCall<T1> : BaseInvokableCall
{
// Token: 0x06003988 RID: 14728 RVA: 0x00063FC4 File Offset: 0x000621C4
public InvokableCall(object target, MethodInfo theFunction)
: base(target, theFunction)
{
this.Delegate += (UnityAction<T1>)theFunction.CreateDelegate(typeof(UnityAction<T1>), target);
}
// Token: 0x06003989 RID: 14729 RVA: 0x00063FEC File Offset: 0x000621EC
public InvokableCall(UnityAction<T1> 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<T1> 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<T1>(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);
}
}
}
+51
View File
@@ -0,0 +1,51 @@
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);
}
}
}
+52
View File
@@ -0,0 +1,52 @@
using System;
using System.Diagnostics;
using System.Reflection;
using UnityEngineInternal;
namespace UnityEngine.Events
{
// Token: 0x02000479 RID: 1145
internal class InvokableCall<T1, T2, T3> : BaseInvokableCall
{
// Token: 0x06003994 RID: 14740 RVA: 0x0006423C File Offset: 0x0006243C
public InvokableCall(object target, MethodInfo theFunction)
: base(target, theFunction)
{
this.Delegate = (UnityAction<T1, T2, T3>)theFunction.CreateDelegate(typeof(UnityAction<T1, T2, T3>), target);
}
// Token: 0x06003995 RID: 14741 RVA: 0x00064264 File Offset: 0x00062464
public InvokableCall(UnityAction<T1, T2, T3> action)
{
this.Delegate += action;
}
// Token: 0x1400002F RID: 47
// (add) Token: 0x06003996 RID: 14742 RVA: 0x00064274 File Offset: 0x00062474
// (remove) Token: 0x06003997 RID: 14743 RVA: 0x000642AC File Offset: 0x000624AC
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
protected event UnityAction<T1, T2, T3> Delegate;
// Token: 0x06003998 RID: 14744 RVA: 0x000642E4 File Offset: 0x000624E4
public override void Invoke(object[] args)
{
if (args.Length != 3)
{
throw new ArgumentException("Passed argument 'args' is invalid size. Expected size is 1");
}
BaseInvokableCall.ThrowOnInvalidArg<T1>(args[0]);
BaseInvokableCall.ThrowOnInvalidArg<T2>(args[1]);
BaseInvokableCall.ThrowOnInvalidArg<T3>(args[2]);
if (BaseInvokableCall.AllowInvoke(this.Delegate))
{
this.Delegate((T1)((object)args[0]), (T2)((object)args[1]), (T3)((object)args[2]));
}
}
// Token: 0x06003999 RID: 14745 RVA: 0x00064354 File Offset: 0x00062554
public override bool Find(object targetObj, MethodInfo method)
{
return this.Delegate.Target == targetObj && this.Delegate.GetMethodInfo().Equals(method);
}
}
}
+53
View File
@@ -0,0 +1,53 @@
using System;
using System.Diagnostics;
using System.Reflection;
using UnityEngineInternal;
namespace UnityEngine.Events
{
// Token: 0x0200047A RID: 1146
internal class InvokableCall<T1, T2, T3, T4> : BaseInvokableCall
{
// Token: 0x0600399A RID: 14746 RVA: 0x00064390 File Offset: 0x00062590
public InvokableCall(object target, MethodInfo theFunction)
: base(target, theFunction)
{
this.Delegate = (UnityAction<T1, T2, T3, T4>)theFunction.CreateDelegate(typeof(UnityAction<T1, T2, T3, T4>), target);
}
// Token: 0x0600399B RID: 14747 RVA: 0x000643B8 File Offset: 0x000625B8
public InvokableCall(UnityAction<T1, T2, T3, T4> action)
{
this.Delegate += action;
}
// Token: 0x14000030 RID: 48
// (add) Token: 0x0600399C RID: 14748 RVA: 0x000643C8 File Offset: 0x000625C8
// (remove) Token: 0x0600399D RID: 14749 RVA: 0x00064400 File Offset: 0x00062600
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
protected event UnityAction<T1, T2, T3, T4> Delegate;
// Token: 0x0600399E RID: 14750 RVA: 0x00064438 File Offset: 0x00062638
public override void Invoke(object[] args)
{
if (args.Length != 4)
{
throw new ArgumentException("Passed argument 'args' is invalid size. Expected size is 1");
}
BaseInvokableCall.ThrowOnInvalidArg<T1>(args[0]);
BaseInvokableCall.ThrowOnInvalidArg<T2>(args[1]);
BaseInvokableCall.ThrowOnInvalidArg<T3>(args[2]);
BaseInvokableCall.ThrowOnInvalidArg<T4>(args[3]);
if (BaseInvokableCall.AllowInvoke(this.Delegate))
{
this.Delegate((T1)((object)args[0]), (T2)((object)args[1]), (T3)((object)args[2]), (T4)((object)args[3]));
}
}
// Token: 0x0600399F RID: 14751 RVA: 0x000644B8 File Offset: 0x000626B8
public override bool Find(object targetObj, MethodInfo method)
{
return this.Delegate.Target == targetObj && this.Delegate.GetMethodInfo().Equals(method);
}
}
}
+45
View File
@@ -0,0 +1,45 @@
using System;
using System.Diagnostics;
using System.Reflection;
using UnityEngineInternal;
namespace UnityEngine.Events
{
// Token: 0x02000476 RID: 1142
internal class InvokableCall : BaseInvokableCall
{
// Token: 0x06003982 RID: 14722 RVA: 0x00063EC0 File Offset: 0x000620C0
public InvokableCall(object target, MethodInfo theFunction)
: base(target, theFunction)
{
this.Delegate += (UnityAction)theFunction.CreateDelegate(typeof(UnityAction), target);
}
// Token: 0x06003983 RID: 14723 RVA: 0x00063EE8 File Offset: 0x000620E8
public InvokableCall(UnityAction action)
{
this.Delegate += action;
}
// Token: 0x1400002C RID: 44
// (add) Token: 0x06003984 RID: 14724 RVA: 0x00063EF8 File Offset: 0x000620F8
// (remove) Token: 0x06003985 RID: 14725 RVA: 0x00063F30 File Offset: 0x00062130
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
private event UnityAction Delegate;
// Token: 0x06003986 RID: 14726 RVA: 0x00063F68 File Offset: 0x00062168
public override void Invoke(object[] args)
{
if (BaseInvokableCall.AllowInvoke(this.Delegate))
{
this.Delegate();
}
}
// Token: 0x06003987 RID: 14727 RVA: 0x00063F88 File Offset: 0x00062188
public override bool Find(object targetObj, MethodInfo method)
{
return this.Delegate.Target == targetObj && this.Delegate.GetMethodInfo().Equals(method);
}
}
}
+91
View File
@@ -0,0 +1,91 @@
using System;
using System.Collections.Generic;
using System.Reflection;
namespace UnityEngine.Events
{
// Token: 0x0200047F RID: 1151
internal class InvokableCallList
{
// Token: 0x17000D3E RID: 3390
// (get) Token: 0x060039C2 RID: 14786 RVA: 0x00064BC8 File Offset: 0x00062DC8
public int Count
{
get
{
return this.m_PersistentCalls.Count + this.m_RuntimeCalls.Count;
}
}
// Token: 0x060039C3 RID: 14787 RVA: 0x00064BF4 File Offset: 0x00062DF4
public void AddPersistentInvokableCall(BaseInvokableCall call)
{
this.m_PersistentCalls.Add(call);
this.m_NeedsUpdate = true;
}
// Token: 0x060039C4 RID: 14788 RVA: 0x00064C0C File Offset: 0x00062E0C
public void AddListener(BaseInvokableCall call)
{
this.m_RuntimeCalls.Add(call);
this.m_NeedsUpdate = true;
}
// Token: 0x060039C5 RID: 14789 RVA: 0x00064C24 File Offset: 0x00062E24
public void RemoveListener(object targetObj, MethodInfo method)
{
List<BaseInvokableCall> list = new List<BaseInvokableCall>();
for (int i = 0; i < this.m_RuntimeCalls.Count; i++)
{
if (this.m_RuntimeCalls[i].Find(targetObj, method))
{
list.Add(this.m_RuntimeCalls[i]);
}
}
this.m_RuntimeCalls.RemoveAll(new Predicate<BaseInvokableCall>(list.Contains));
this.m_NeedsUpdate = true;
}
// Token: 0x060039C6 RID: 14790 RVA: 0x00064CA0 File Offset: 0x00062EA0
public void Clear()
{
this.m_RuntimeCalls.Clear();
this.m_NeedsUpdate = true;
}
// Token: 0x060039C7 RID: 14791 RVA: 0x00064CB8 File Offset: 0x00062EB8
public void ClearPersistent()
{
this.m_PersistentCalls.Clear();
this.m_NeedsUpdate = true;
}
// Token: 0x060039C8 RID: 14792 RVA: 0x00064CD0 File Offset: 0x00062ED0
public void Invoke(object[] parameters)
{
if (this.m_NeedsUpdate)
{
this.m_ExecutingCalls.Clear();
this.m_ExecutingCalls.AddRange(this.m_PersistentCalls);
this.m_ExecutingCalls.AddRange(this.m_RuntimeCalls);
this.m_NeedsUpdate = false;
}
for (int i = 0; i < this.m_ExecutingCalls.Count; i++)
{
this.m_ExecutingCalls[i].Invoke(parameters);
}
}
// Token: 0x0400118A RID: 4490
private readonly List<BaseInvokableCall> m_PersistentCalls = new List<BaseInvokableCall>();
// Token: 0x0400118B RID: 4491
private readonly List<BaseInvokableCall> m_RuntimeCalls = new List<BaseInvokableCall>();
// Token: 0x0400118C RID: 4492
private readonly List<BaseInvokableCall> m_ExecutingCalls = new List<BaseInvokableCall>();
// Token: 0x0400118D RID: 4493
private bool m_NeedsUpdate = true;
}
}
+190
View File
@@ -0,0 +1,190 @@
using System;
using System.Reflection;
using UnityEngine.Serialization;
namespace UnityEngine.Events
{
// Token: 0x0200047D RID: 1149
[Serializable]
internal class PersistentCall
{
// Token: 0x17000D38 RID: 3384
// (get) Token: 0x060039A3 RID: 14755 RVA: 0x00064550 File Offset: 0x00062750
public Object target
{
get
{
return this.m_Target;
}
}
// Token: 0x17000D39 RID: 3385
// (get) Token: 0x060039A4 RID: 14756 RVA: 0x0006456C File Offset: 0x0006276C
public string methodName
{
get
{
return this.m_MethodName;
}
}
// Token: 0x17000D3A RID: 3386
// (get) Token: 0x060039A5 RID: 14757 RVA: 0x00064588 File Offset: 0x00062788
// (set) Token: 0x060039A6 RID: 14758 RVA: 0x000645A4 File Offset: 0x000627A4
public PersistentListenerMode mode
{
get
{
return this.m_Mode;
}
set
{
this.m_Mode = value;
}
}
// Token: 0x17000D3B RID: 3387
// (get) Token: 0x060039A7 RID: 14759 RVA: 0x000645B0 File Offset: 0x000627B0
public ArgumentCache arguments
{
get
{
return this.m_Arguments;
}
}
// Token: 0x17000D3C RID: 3388
// (get) Token: 0x060039A8 RID: 14760 RVA: 0x000645CC File Offset: 0x000627CC
// (set) Token: 0x060039A9 RID: 14761 RVA: 0x000645E8 File Offset: 0x000627E8
public UnityEventCallState callState
{
get
{
return this.m_CallState;
}
set
{
this.m_CallState = value;
}
}
// Token: 0x060039AA RID: 14762 RVA: 0x000645F4 File Offset: 0x000627F4
public bool IsValid()
{
return this.target != null && !string.IsNullOrEmpty(this.methodName);
}
// Token: 0x060039AB RID: 14763 RVA: 0x0006462C File Offset: 0x0006282C
public BaseInvokableCall GetRuntimeCall(UnityEventBase theEvent)
{
BaseInvokableCall baseInvokableCall;
if (this.m_CallState == UnityEventCallState.Off || theEvent == null)
{
baseInvokableCall = null;
}
else
{
MethodInfo methodInfo = theEvent.FindMethod(this);
if (methodInfo == null)
{
baseInvokableCall = null;
}
else
{
switch (this.m_Mode)
{
case PersistentListenerMode.EventDefined:
baseInvokableCall = theEvent.GetDelegate(this.target, methodInfo);
break;
case PersistentListenerMode.Void:
baseInvokableCall = new InvokableCall(this.target, methodInfo);
break;
case PersistentListenerMode.Object:
baseInvokableCall = PersistentCall.GetObjectCall(this.target, methodInfo, this.m_Arguments);
break;
case PersistentListenerMode.Int:
baseInvokableCall = new CachedInvokableCall<int>(this.target, methodInfo, this.m_Arguments.intArgument);
break;
case PersistentListenerMode.Float:
baseInvokableCall = new CachedInvokableCall<float>(this.target, methodInfo, this.m_Arguments.floatArgument);
break;
case PersistentListenerMode.String:
baseInvokableCall = new CachedInvokableCall<string>(this.target, methodInfo, this.m_Arguments.stringArgument);
break;
case PersistentListenerMode.Bool:
baseInvokableCall = new CachedInvokableCall<bool>(this.target, methodInfo, this.m_Arguments.boolArgument);
break;
default:
baseInvokableCall = null;
break;
}
}
}
return baseInvokableCall;
}
// Token: 0x060039AC RID: 14764 RVA: 0x00064750 File Offset: 0x00062950
private static BaseInvokableCall GetObjectCall(Object target, MethodInfo method, ArgumentCache arguments)
{
Type type = typeof(Object);
if (!string.IsNullOrEmpty(arguments.unityObjectArgumentAssemblyTypeName))
{
type = Type.GetType(arguments.unityObjectArgumentAssemblyTypeName, false) ?? typeof(Object);
}
Type typeFromHandle = typeof(CachedInvokableCall<>);
Type type2 = typeFromHandle.MakeGenericType(new Type[] { type });
ConstructorInfo constructor = type2.GetConstructor(new Type[]
{
typeof(Object),
typeof(MethodInfo),
type
});
Object @object = arguments.unityObjectArgument;
if (@object != null && !type.IsAssignableFrom(@object.GetType()))
{
@object = null;
}
return constructor.Invoke(new object[] { target, method, @object }) as BaseInvokableCall;
}
// Token: 0x060039AD RID: 14765 RVA: 0x00064830 File Offset: 0x00062A30
public void RegisterPersistentListener(Object ttarget, string mmethodName)
{
this.m_Target = ttarget;
this.m_MethodName = mmethodName;
}
// Token: 0x060039AE RID: 14766 RVA: 0x00064844 File Offset: 0x00062A44
public void UnregisterPersistentListener()
{
this.m_MethodName = string.Empty;
this.m_Target = null;
}
// Token: 0x04001184 RID: 4484
[FormerlySerializedAs("instance")]
[SerializeField]
private Object m_Target;
// Token: 0x04001185 RID: 4485
[FormerlySerializedAs("methodName")]
[SerializeField]
private string m_MethodName;
// Token: 0x04001186 RID: 4486
[FormerlySerializedAs("mode")]
[SerializeField]
private PersistentListenerMode m_Mode = PersistentListenerMode.EventDefined;
// Token: 0x04001187 RID: 4487
[FormerlySerializedAs("arguments")]
[SerializeField]
private ArgumentCache m_Arguments = new ArgumentCache();
// Token: 0x04001188 RID: 4488
[FormerlySerializedAs("m_Enabled")]
[SerializeField]
[FormerlySerializedAs("enabled")]
private UnityEventCallState m_CallState = UnityEventCallState.RuntimeOnly;
}
}
+166
View File
@@ -0,0 +1,166 @@
using System;
using System.Collections.Generic;
using UnityEngine.Serialization;
namespace UnityEngine.Events
{
// Token: 0x0200047E RID: 1150
[Serializable]
internal class PersistentCallGroup
{
// Token: 0x060039AF RID: 14767 RVA: 0x0006485C File Offset: 0x00062A5C
public PersistentCallGroup()
{
this.m_Calls = new List<PersistentCall>();
}
// Token: 0x17000D3D RID: 3389
// (get) Token: 0x060039B0 RID: 14768 RVA: 0x00064870 File Offset: 0x00062A70
public int Count
{
get
{
return this.m_Calls.Count;
}
}
// Token: 0x060039B1 RID: 14769 RVA: 0x00064890 File Offset: 0x00062A90
public PersistentCall GetListener(int index)
{
return this.m_Calls[index];
}
// Token: 0x060039B2 RID: 14770 RVA: 0x000648B4 File Offset: 0x00062AB4
public IEnumerable<PersistentCall> GetListeners()
{
return this.m_Calls;
}
// Token: 0x060039B3 RID: 14771 RVA: 0x000648D0 File Offset: 0x00062AD0
public void AddListener()
{
this.m_Calls.Add(new PersistentCall());
}
// Token: 0x060039B4 RID: 14772 RVA: 0x000648E4 File Offset: 0x00062AE4
public void AddListener(PersistentCall call)
{
this.m_Calls.Add(call);
}
// Token: 0x060039B5 RID: 14773 RVA: 0x000648F4 File Offset: 0x00062AF4
public void RemoveListener(int index)
{
this.m_Calls.RemoveAt(index);
}
// Token: 0x060039B6 RID: 14774 RVA: 0x00064904 File Offset: 0x00062B04
public void Clear()
{
this.m_Calls.Clear();
}
// Token: 0x060039B7 RID: 14775 RVA: 0x00064914 File Offset: 0x00062B14
public void RegisterEventPersistentListener(int index, Object targetObj, string methodName)
{
PersistentCall listener = this.GetListener(index);
listener.RegisterPersistentListener(targetObj, methodName);
listener.mode = PersistentListenerMode.EventDefined;
}
// Token: 0x060039B8 RID: 14776 RVA: 0x0006493C File Offset: 0x00062B3C
public void RegisterVoidPersistentListener(int index, Object targetObj, string methodName)
{
PersistentCall listener = this.GetListener(index);
listener.RegisterPersistentListener(targetObj, methodName);
listener.mode = PersistentListenerMode.Void;
}
// Token: 0x060039B9 RID: 14777 RVA: 0x00064964 File Offset: 0x00062B64
public void RegisterObjectPersistentListener(int index, Object targetObj, Object argument, string methodName)
{
PersistentCall listener = this.GetListener(index);
listener.RegisterPersistentListener(targetObj, methodName);
listener.mode = PersistentListenerMode.Object;
listener.arguments.unityObjectArgument = argument;
}
// Token: 0x060039BA RID: 14778 RVA: 0x00064998 File Offset: 0x00062B98
public void RegisterIntPersistentListener(int index, Object targetObj, int argument, string methodName)
{
PersistentCall listener = this.GetListener(index);
listener.RegisterPersistentListener(targetObj, methodName);
listener.mode = PersistentListenerMode.Int;
listener.arguments.intArgument = argument;
}
// Token: 0x060039BB RID: 14779 RVA: 0x000649CC File Offset: 0x00062BCC
public void RegisterFloatPersistentListener(int index, Object targetObj, float argument, string methodName)
{
PersistentCall listener = this.GetListener(index);
listener.RegisterPersistentListener(targetObj, methodName);
listener.mode = PersistentListenerMode.Float;
listener.arguments.floatArgument = argument;
}
// Token: 0x060039BC RID: 14780 RVA: 0x00064A00 File Offset: 0x00062C00
public void RegisterStringPersistentListener(int index, Object targetObj, string argument, string methodName)
{
PersistentCall listener = this.GetListener(index);
listener.RegisterPersistentListener(targetObj, methodName);
listener.mode = PersistentListenerMode.String;
listener.arguments.stringArgument = argument;
}
// Token: 0x060039BD RID: 14781 RVA: 0x00064A34 File Offset: 0x00062C34
public void RegisterBoolPersistentListener(int index, Object targetObj, bool argument, string methodName)
{
PersistentCall listener = this.GetListener(index);
listener.RegisterPersistentListener(targetObj, methodName);
listener.mode = PersistentListenerMode.Bool;
listener.arguments.boolArgument = argument;
}
// Token: 0x060039BE RID: 14782 RVA: 0x00064A68 File Offset: 0x00062C68
public void UnregisterPersistentListener(int index)
{
PersistentCall listener = this.GetListener(index);
listener.UnregisterPersistentListener();
}
// Token: 0x060039BF RID: 14783 RVA: 0x00064A84 File Offset: 0x00062C84
public void RemoveListeners(Object target, string methodName)
{
List<PersistentCall> list = new List<PersistentCall>();
for (int i = 0; i < this.m_Calls.Count; i++)
{
if (this.m_Calls[i].target == target && this.m_Calls[i].methodName == methodName)
{
list.Add(this.m_Calls[i]);
}
}
this.m_Calls.RemoveAll(new Predicate<PersistentCall>(list.Contains));
}
// Token: 0x060039C0 RID: 14784 RVA: 0x00064B18 File Offset: 0x00062D18
public void Initialize(InvokableCallList invokableList, UnityEventBase unityEventBase)
{
foreach (PersistentCall persistentCall in this.m_Calls)
{
if (persistentCall.IsValid())
{
BaseInvokableCall runtimeCall = persistentCall.GetRuntimeCall(unityEventBase);
if (runtimeCall != null)
{
invokableList.AddPersistentInvokableCall(runtimeCall);
}
}
}
}
// Token: 0x04001189 RID: 4489
[FormerlySerializedAs("m_Listeners")]
[SerializeField]
private List<PersistentCall> m_Calls;
}
}
@@ -0,0 +1,24 @@
using System;
namespace UnityEngine.Events
{
// Token: 0x02000473 RID: 1139
[Serializable]
public enum PersistentListenerMode
{
// Token: 0x0400116D RID: 4461
EventDefined,
// Token: 0x0400116E RID: 4462
Void,
// Token: 0x0400116F RID: 4463
Object,
// Token: 0x04001170 RID: 4464
Int,
// Token: 0x04001171 RID: 4465
Float,
// Token: 0x04001172 RID: 4466
String,
// Token: 0x04001173 RID: 4467
Bool
}
}
+8
View File
@@ -0,0 +1,8 @@
using System;
namespace UnityEngine.Events
{
// Token: 0x02000483 RID: 1155
// (Invoke) Token: 0x060039E9 RID: 14825
public delegate void UnityAction<T0>(T0 arg0);
}
+8
View File
@@ -0,0 +1,8 @@
using System;
namespace UnityEngine.Events
{
// Token: 0x02000485 RID: 1157
// (Invoke) Token: 0x060039F4 RID: 14836
public delegate void UnityAction<T0, T1>(T0 arg0, T1 arg1);
}
+8
View File
@@ -0,0 +1,8 @@
using System;
namespace UnityEngine.Events
{
// Token: 0x02000487 RID: 1159
// (Invoke) Token: 0x060039FF RID: 14847
public delegate void UnityAction<T0, T1, T2>(T0 arg0, T1 arg1, T2 arg2);
}
+8
View File
@@ -0,0 +1,8 @@
using System;
namespace UnityEngine.Events
{
// Token: 0x02000489 RID: 1161
// (Invoke) Token: 0x06003A0A RID: 14858
public delegate void UnityAction<T0, T1, T2, T3>(T0 arg0, T1 arg1, T2 arg2, T3 arg3);
}
+8
View File
@@ -0,0 +1,8 @@
using System;
namespace UnityEngine.Events
{
// Token: 0x02000481 RID: 1153
// (Invoke) Token: 0x060039DE RID: 14814
public delegate void UnityAction();
}
+58
View File
@@ -0,0 +1,58 @@
using System;
using System.Reflection;
using UnityEngine.Scripting;
using UnityEngineInternal;
namespace UnityEngine.Events
{
// Token: 0x02000484 RID: 1156
[Serializable]
public abstract class UnityEvent<T0> : UnityEventBase
{
// Token: 0x060039EC RID: 14828 RVA: 0x0006522C File Offset: 0x0006342C
[RequiredByNativeCode]
public UnityEvent()
{
}
// Token: 0x060039ED RID: 14829 RVA: 0x00065244 File Offset: 0x00063444
public void AddListener(UnityAction<T0> call)
{
base.AddCall(UnityEvent<T0>.GetDelegate(call));
}
// Token: 0x060039EE RID: 14830 RVA: 0x00065254 File Offset: 0x00063454
public void RemoveListener(UnityAction<T0> call)
{
base.RemoveListener(call.Target, call.GetMethodInfo());
}
// Token: 0x060039EF RID: 14831 RVA: 0x0006526C File Offset: 0x0006346C
protected override MethodInfo FindMethod_Impl(string name, object targetObj)
{
return UnityEventBase.GetValidMethodInfo(targetObj, name, new Type[] { typeof(T0) });
}
// Token: 0x060039F0 RID: 14832 RVA: 0x0006529C File Offset: 0x0006349C
internal override BaseInvokableCall GetDelegate(object target, MethodInfo theFunction)
{
return new InvokableCall<T0>(target, theFunction);
}
// Token: 0x060039F1 RID: 14833 RVA: 0x000652B8 File Offset: 0x000634B8
private static BaseInvokableCall GetDelegate(UnityAction<T0> action)
{
return new InvokableCall<T0>(action);
}
// Token: 0x060039F2 RID: 14834 RVA: 0x000652D4 File Offset: 0x000634D4
public void Invoke(T0 arg0)
{
this.m_InvokeArray[0] = arg0;
base.Invoke(this.m_InvokeArray);
}
// Token: 0x04001193 RID: 4499
private readonly object[] m_InvokeArray = new object[1];
}
}
+63
View File
@@ -0,0 +1,63 @@
using System;
using System.Reflection;
using UnityEngine.Scripting;
using UnityEngineInternal;
namespace UnityEngine.Events
{
// Token: 0x02000486 RID: 1158
[Serializable]
public abstract class UnityEvent<T0, T1> : UnityEventBase
{
// Token: 0x060039F7 RID: 14839 RVA: 0x000652F4 File Offset: 0x000634F4
[RequiredByNativeCode]
public UnityEvent()
{
}
// Token: 0x060039F8 RID: 14840 RVA: 0x0006530C File Offset: 0x0006350C
public void AddListener(UnityAction<T0, T1> call)
{
base.AddCall(UnityEvent<T0, T1>.GetDelegate(call));
}
// Token: 0x060039F9 RID: 14841 RVA: 0x0006531C File Offset: 0x0006351C
public void RemoveListener(UnityAction<T0, T1> call)
{
base.RemoveListener(call.Target, call.GetMethodInfo());
}
// Token: 0x060039FA RID: 14842 RVA: 0x00065334 File Offset: 0x00063534
protected override MethodInfo FindMethod_Impl(string name, object targetObj)
{
return UnityEventBase.GetValidMethodInfo(targetObj, name, new Type[]
{
typeof(T0),
typeof(T1)
});
}
// Token: 0x060039FB RID: 14843 RVA: 0x00065370 File Offset: 0x00063570
internal override BaseInvokableCall GetDelegate(object target, MethodInfo theFunction)
{
return new InvokableCall<T0, T1>(target, theFunction);
}
// Token: 0x060039FC RID: 14844 RVA: 0x0006538C File Offset: 0x0006358C
private static BaseInvokableCall GetDelegate(UnityAction<T0, T1> action)
{
return new InvokableCall<T0, T1>(action);
}
// Token: 0x060039FD RID: 14845 RVA: 0x000653A8 File Offset: 0x000635A8
public void Invoke(T0 arg0, T1 arg1)
{
this.m_InvokeArray[0] = arg0;
this.m_InvokeArray[1] = arg1;
base.Invoke(this.m_InvokeArray);
}
// Token: 0x04001194 RID: 4500
private readonly object[] m_InvokeArray = new object[2];
}
}
+65
View File
@@ -0,0 +1,65 @@
using System;
using System.Reflection;
using UnityEngine.Scripting;
using UnityEngineInternal;
namespace UnityEngine.Events
{
// Token: 0x02000488 RID: 1160
[Serializable]
public abstract class UnityEvent<T0, T1, T2> : 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<T0, T1, T2> call)
{
base.AddCall(UnityEvent<T0, T1, T2>.GetDelegate(call));
}
// Token: 0x06003A04 RID: 14852 RVA: 0x000653FC File Offset: 0x000635FC
public void RemoveListener(UnityAction<T0, T1, T2> 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<T0, T1, T2>(target, theFunction);
}
// Token: 0x06003A07 RID: 14855 RVA: 0x0006547C File Offset: 0x0006367C
private static BaseInvokableCall GetDelegate(UnityAction<T0, T1, T2> action)
{
return new InvokableCall<T0, T1, T2>(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];
}
}
+67
View File
@@ -0,0 +1,67 @@
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];
}
}
+57
View File
@@ -0,0 +1,57 @@
using System;
using System.Reflection;
using UnityEngine.Scripting;
using UnityEngineInternal;
namespace UnityEngine.Events
{
// Token: 0x02000482 RID: 1154
[Serializable]
public class UnityEvent : UnityEventBase
{
// Token: 0x060039E1 RID: 14817 RVA: 0x00065180 File Offset: 0x00063380
[RequiredByNativeCode]
public UnityEvent()
{
}
// Token: 0x060039E2 RID: 14818 RVA: 0x00065198 File Offset: 0x00063398
public void AddListener(UnityAction call)
{
base.AddCall(UnityEvent.GetDelegate(call));
}
// Token: 0x060039E3 RID: 14819 RVA: 0x000651A8 File Offset: 0x000633A8
public void RemoveListener(UnityAction call)
{
base.RemoveListener(call.Target, call.GetMethodInfo());
}
// Token: 0x060039E4 RID: 14820 RVA: 0x000651C0 File Offset: 0x000633C0
protected override MethodInfo FindMethod_Impl(string name, object targetObj)
{
return UnityEventBase.GetValidMethodInfo(targetObj, name, new Type[0]);
}
// Token: 0x060039E5 RID: 14821 RVA: 0x000651E4 File Offset: 0x000633E4
internal override BaseInvokableCall GetDelegate(object target, MethodInfo theFunction)
{
return new InvokableCall(target, theFunction);
}
// Token: 0x060039E6 RID: 14822 RVA: 0x00065200 File Offset: 0x00063400
private static BaseInvokableCall GetDelegate(UnityAction action)
{
return new InvokableCall(action);
}
// Token: 0x060039E7 RID: 14823 RVA: 0x0006521C File Offset: 0x0006341C
public void Invoke()
{
base.Invoke(this.m_InvokeArray);
}
// Token: 0x04001192 RID: 4498
private readonly object[] m_InvokeArray = new object[0];
}
}
+217
View File
@@ -0,0 +1,217 @@
using System;
using System.Reflection;
using UnityEngine.Scripting;
using UnityEngine.Serialization;
namespace UnityEngine.Events
{
// Token: 0x02000480 RID: 1152
[UsedByNativeCode]
[Serializable]
public abstract class UnityEventBase : ISerializationCallbackReceiver
{
// Token: 0x060039C9 RID: 14793 RVA: 0x00064D50 File Offset: 0x00062F50
protected UnityEventBase()
{
this.m_Calls = new InvokableCallList();
this.m_PersistentCalls = new PersistentCallGroup();
this.m_TypeName = base.GetType().AssemblyQualifiedName;
}
// Token: 0x060039CA RID: 14794 RVA: 0x00064D88 File Offset: 0x00062F88
void ISerializationCallbackReceiver.OnBeforeSerialize()
{
}
// Token: 0x060039CB RID: 14795 RVA: 0x00064D8C File Offset: 0x00062F8C
void ISerializationCallbackReceiver.OnAfterDeserialize()
{
this.DirtyPersistentCalls();
this.m_TypeName = base.GetType().AssemblyQualifiedName;
}
// Token: 0x060039CC RID: 14796
protected abstract MethodInfo FindMethod_Impl(string name, object targetObj);
// Token: 0x060039CD RID: 14797
internal abstract BaseInvokableCall GetDelegate(object target, MethodInfo theFunction);
// Token: 0x060039CE RID: 14798 RVA: 0x00064DA8 File Offset: 0x00062FA8
internal MethodInfo FindMethod(PersistentCall call)
{
Type type = typeof(Object);
if (!string.IsNullOrEmpty(call.arguments.unityObjectArgumentAssemblyTypeName))
{
type = Type.GetType(call.arguments.unityObjectArgumentAssemblyTypeName, false) ?? typeof(Object);
}
return this.FindMethod(call.methodName, call.target, call.mode, type);
}
// Token: 0x060039CF RID: 14799 RVA: 0x00064E1C File Offset: 0x0006301C
internal MethodInfo FindMethod(string name, object listener, PersistentListenerMode mode, Type argumentType)
{
MethodInfo methodInfo;
switch (mode)
{
case PersistentListenerMode.EventDefined:
methodInfo = this.FindMethod_Impl(name, listener);
break;
case PersistentListenerMode.Void:
methodInfo = UnityEventBase.GetValidMethodInfo(listener, name, new Type[0]);
break;
case PersistentListenerMode.Object:
methodInfo = UnityEventBase.GetValidMethodInfo(listener, name, new Type[] { argumentType ?? typeof(Object) });
break;
case PersistentListenerMode.Int:
methodInfo = UnityEventBase.GetValidMethodInfo(listener, name, new Type[] { typeof(int) });
break;
case PersistentListenerMode.Float:
methodInfo = UnityEventBase.GetValidMethodInfo(listener, name, new Type[] { typeof(float) });
break;
case PersistentListenerMode.String:
methodInfo = UnityEventBase.GetValidMethodInfo(listener, name, new Type[] { typeof(string) });
break;
case PersistentListenerMode.Bool:
methodInfo = UnityEventBase.GetValidMethodInfo(listener, name, new Type[] { typeof(bool) });
break;
default:
methodInfo = null;
break;
}
return methodInfo;
}
// Token: 0x060039D0 RID: 14800 RVA: 0x00064F24 File Offset: 0x00063124
public int GetPersistentEventCount()
{
return this.m_PersistentCalls.Count;
}
// Token: 0x060039D1 RID: 14801 RVA: 0x00064F44 File Offset: 0x00063144
public Object GetPersistentTarget(int index)
{
PersistentCall listener = this.m_PersistentCalls.GetListener(index);
return (listener == null) ? null : listener.target;
}
// Token: 0x060039D2 RID: 14802 RVA: 0x00064F78 File Offset: 0x00063178
public string GetPersistentMethodName(int index)
{
PersistentCall listener = this.m_PersistentCalls.GetListener(index);
return (listener == null) ? string.Empty : listener.methodName;
}
// Token: 0x060039D3 RID: 14803 RVA: 0x00064FB0 File Offset: 0x000631B0
private void DirtyPersistentCalls()
{
this.m_Calls.ClearPersistent();
this.m_CallsDirty = true;
}
// Token: 0x060039D4 RID: 14804 RVA: 0x00064FC8 File Offset: 0x000631C8
private void RebuildPersistentCallsIfNeeded()
{
if (this.m_CallsDirty)
{
this.m_PersistentCalls.Initialize(this.m_Calls, this);
this.m_CallsDirty = false;
}
}
// Token: 0x060039D5 RID: 14805 RVA: 0x00064FF4 File Offset: 0x000631F4
public void SetPersistentListenerState(int index, UnityEventCallState state)
{
PersistentCall listener = this.m_PersistentCalls.GetListener(index);
if (listener != null)
{
listener.callState = state;
}
this.DirtyPersistentCalls();
}
// Token: 0x060039D6 RID: 14806 RVA: 0x00065024 File Offset: 0x00063224
protected void AddListener(object targetObj, MethodInfo method)
{
this.m_Calls.AddListener(this.GetDelegate(targetObj, method));
}
// Token: 0x060039D7 RID: 14807 RVA: 0x0006503C File Offset: 0x0006323C
internal void AddCall(BaseInvokableCall call)
{
this.m_Calls.AddListener(call);
}
// Token: 0x060039D8 RID: 14808 RVA: 0x0006504C File Offset: 0x0006324C
protected void RemoveListener(object targetObj, MethodInfo method)
{
this.m_Calls.RemoveListener(targetObj, method);
}
// Token: 0x060039D9 RID: 14809 RVA: 0x0006505C File Offset: 0x0006325C
public void RemoveAllListeners()
{
this.m_Calls.Clear();
}
// Token: 0x060039DA RID: 14810 RVA: 0x0006506C File Offset: 0x0006326C
protected void Invoke(object[] parameters)
{
this.RebuildPersistentCallsIfNeeded();
this.m_Calls.Invoke(parameters);
}
// Token: 0x060039DB RID: 14811 RVA: 0x00065084 File Offset: 0x00063284
public override string ToString()
{
return base.ToString() + " " + base.GetType().FullName;
}
// Token: 0x060039DC RID: 14812 RVA: 0x000650B4 File Offset: 0x000632B4
public static MethodInfo GetValidMethodInfo(object obj, string functionName, Type[] argumentTypes)
{
Type type = obj.GetType();
while (type != typeof(object) && type != null)
{
MethodInfo method = type.GetMethod(functionName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, argumentTypes, null);
if (method != null)
{
ParameterInfo[] parameters = method.GetParameters();
bool flag = true;
int num = 0;
foreach (ParameterInfo parameterInfo in parameters)
{
Type type2 = argumentTypes[num];
Type parameterType = parameterInfo.ParameterType;
flag = type2.IsPrimitive == parameterType.IsPrimitive;
if (!flag)
{
break;
}
num++;
}
if (flag)
{
return method;
}
}
type = type.BaseType;
}
return null;
}
// Token: 0x0400118E RID: 4494
private InvokableCallList m_Calls;
// Token: 0x0400118F RID: 4495
[FormerlySerializedAs("m_PersistentListeners")]
[SerializeField]
private PersistentCallGroup m_PersistentCalls;
// Token: 0x04001190 RID: 4496
[SerializeField]
private string m_TypeName;
// Token: 0x04001191 RID: 4497
private bool m_CallsDirty = true;
}
}
+15
View File
@@ -0,0 +1,15 @@
using System;
namespace UnityEngine.Events
{
// Token: 0x0200047C RID: 1148
public enum UnityEventCallState
{
// Token: 0x04001181 RID: 4481
Off,
// Token: 0x04001182 RID: 4482
EditorAndRuntime,
// Token: 0x04001183 RID: 4483
RuntimeOnly
}
}