package colloid.model.control; import java.util.Date; import colloid.model.event.Actor; import colloid.model.event.Fight; import colloid.model.event.Util; public class DamageTreeItem implements Comparable<DamageTreeItem> { protected Actor actor; protected Fight fight; protected String dps; protected double damageDone; public DamageTreeItem(Actor actor, Fight fight) { init(actor, fight); } protected void init(Actor actor, Fight fight) { Date endTime = fight.getFinish(); if (endTime == null) { endTime = new Date(); } long duration = endTime.getTime() - fight.getStart().getTime(); damageDone = actor.getDamageDone(fight); if (duration > 100) { dps = Util.valuePerSecond(damageDone, duration); } } public String info() { return String.format("%s: %s(%s)", actor.getName(), damageDone, dps); } @Override public int compareTo(DamageTreeItem o) { if (getDamageDone() > o.getDamageDone()) { return 1; } return -1; } @Override public String toString() { return info(); } public double getDamageDone() { return damageDone; } public void setDamageDone(double damageDone) { this.damageDone = damageDone; } }