import java.util.Enumeration; import util.list.List; class EffectTimer { private List effects = new List(); EffectTimer() { } void insert(Effect eff, boolean quiet) { effects.insert(eff); eff.apply(quiet); } void remove(Effect eff, boolean quiet) { effects.remove(eff); eff.undo(quiet); } void updateEffects() { for (Enumeration effEnum = effects.elements(); effEnum.hasMoreElements(); ) { Effect eff = (Effect) effEnum.nextElement(); eff.update(); if (eff.hasExpired()) remove(eff, false); } } }