jmud-0.11/
jmud-0.11/bin/
jmud-0.11/doc/
jmud-0.11/rec/
jmud-0.11/rec/mun/
jmud-0.11/rec/mun/grecia/
jmud-0.11/rec/mun/gunnar/
jmud-0.11/rec/qua/
jmud-0.11/src/bool/
jmud-0.11/src/clone/
jmud-0.11/src/integer/
jmud-0.11/src/misc/
jmud-0.11/src/string/
jmud-0.11/src/util/bit/
jmud-0.11/src/util/color/
jmud-0.11/src/util/file/
jmud-0.11/src/util/jgp/adaptor/
jmud-0.11/src/util/jgp/algorithm/
jmud-0.11/src/util/jgp/container/
jmud-0.11/src/util/jgp/functor/
jmud-0.11/src/util/jgp/interfaces/
jmud-0.11/src/util/jgp/predicate/
jmud-0.11/src/util/log/
jmud-0.11/src/util/state/
jmud-0.11/trash/
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);
    }
  }
}