private void TryInvokeTimedEvent(float time, int index) { TimedAction action = _timedActions[index]; if (time - action.TimeStarted >= action.Duration && action.GetEnabled()) { action.Disable(); action.Event.Invoke(); _timedActions.Remove(action); } }