/** * Kills every valid tween associated to the given target. */ public void Kill(ITweenable target) { for (int i = 0; i < _tweens.Count; i++) { Tween tween = _tweens[i]; if (tween.GetTarget() == target && !tween.GetFinished()) { tween.Kill(); } } }
/** * Returns true if the manager contains any valid tween associated to the * given target. */ public bool Contains(ITweenable target) { for (int i = 0; i < _tweens.Count; i++) { Tween tween = _tweens[i]; if (tween.GetTarget() == target && !tween.GetFinished()) { return(true); } } return(false); }
/** * Gets an array containing every tween in the manager dedicated to the * given target. * <b>Warning:</b> this method allocates an ArrayList and an array. */ public Tween[] GetTweens(ITweenable target) { List <Tween> selectedTweens = new List <Tween>(); for (int i = 0; i < _tweens.Count; i++) { Tween tween = _tweens[i]; if (tween.GetTarget() == target && !tween.GetFinished()) { selectedTweens.Add(tween); } } return(selectedTweens.ToArray()); }
/** * Updates every tween with the current time. Handles the tween life-cycle * automatically. If a tween is finished, it will be removed from the * manager. */ public void Update() { long currentMillis = DateTime.Now.Millisecond; for (int i = 0; i < _tweens.Count; i++) { Tween tween = _tweens[i]; if (tween.GetFinished()) { _tweens.RemoveAt(i); i -= 1; } tween.Update(currentMillis); } }