package NET.worlds.scape; class DPLoadTracker extends WObject implements FrameHandler, NonPersister { protected DPAction src; protected int distance; protected int triggerTime = 0; public DPLoadTracker(DPAction a, int dist, int time) { this.src = a; this.setDistance(dist, time); ((Portal)this.src.getOwner()).addHandler(this); } public DPLoadTracker() { } public void setDistance(int dist, int time) { if (time > this.triggerTime) { this.distance = dist; this.triggerTime = time; } } @Override public boolean handle(FrameEvent ev) { if (((Portal)this.src.getOwner()).active()) { this.src.informOtherSide(this.distance, this.triggerTime); this.finish(); } else if (((Portal)this.src.getOwner()).unconnected()) { this.finish(); } return true; } public void finish() { ((Portal)this.src.getOwner()).removeHandler(this); } @Override public String toString() { return super.toString(); } }