public void Invoke()
{
List <BaseInvokableCall> list = base.PrepareInvoke();
for (int i = 0; i < list.Count; i++)
{
InvokableCall invokableCall = list[i] as InvokableCall;
if (invokableCall != null)
{
invokableCall.Invoke();
}
else
{
InvokableCall invokableCall2 = list[i] as InvokableCall;
if (invokableCall2 != null)
{
invokableCall2.Invoke();
}
else
{
BaseInvokableCall baseInvokableCall = list[i];
if (this.m_InvokeArray == null)
{
this.m_InvokeArray = new object[0];
}
baseInvokableCall.Invoke(this.m_InvokeArray);
}
}
}
}