public void Cancel(int ID) { for (int i = 0; i < _transformations.Count; i++) { TransformOverTime t = _transformations[i]; if (t.ID == ID) { t.Canceled = true; return; } } }
private void Update() { float dt = Time.deltaTime; _currentTime = Time.time; for (int i = 0; i < _transformations.Count; i++) { TransformOverTime transformation = _transformations[i]; if (!transformation.Update(_currentTime, dt)) { _transformationsToRemove.Enqueue(transformation); } } while (_transformationsToRemove.Count > 0) { _transformations.Remove(_transformationsToRemove.Dequeue()); } }