scripts
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user