static public void Execute (List<EventDelegate> list)
{
if (list != null)
{
// Creates a clone of the event delegate list
List
<EventDelegate
> mTemp
= new List
<EventDelegate
>(); mTemp.AddRange(list);
for (int i = 0; i < mTemp.Count; i++)
{
EventDelegate del = mTemp[i];
if (del != null)
{
del.Execute();
if (del.oneShot)
{
list.Remove(del);
}
}
}
}
}