MoparClassic/GameServer/src/org/moparscape/msc/gs/event/WalkToObjectEvent.java

35 lines
830 B
Java

package org.moparscape.msc.gs.event;
import org.moparscape.msc.gs.model.GameObject;
import org.moparscape.msc.gs.model.Player;
public abstract class WalkToObjectEvent extends DelayedEvent {
protected GameObject object;
private boolean stop;
public WalkToObjectEvent(Player owner, GameObject object, boolean stop) {
super(owner, 601);
this.object = object;
this.stop = stop;
if (stop && owner.atObject(object)) {
owner.resetPath();
arrived();
super.matchRunning = false;
}
}
public abstract void arrived();
public final void run() {
if (stop && owner.atObject(object)) {
owner.resetPath();
arrived();
} else if (owner.hasMoved()) {
return; // We're still moving
} else if (owner.atObject(object)) {
arrived();
}
super.matchRunning = false;
}
}