public static void Update(float Time) { InsideUpdate = true; var Tmrs = AllTimers.ToArray(); for (int i = 0; i < Tmrs.Length; i++) { CurrentTimer = Tmrs[i]; if (CurrentTimer.NextTime <= Time) { AllTimers.Remove(CurrentTimer); CurrentState = CurrentTimer.State; CurrentTimer.State = CurrentTimer.T(CurrentTimer.State); } } InsideUpdate = false; }