167 lines
5.4 KiB
C#
167 lines
5.4 KiB
C#
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;
|
|
}
|
|
}
|