mirror of
https://github.com/moparisthebest/MoparClassic
synced 2024-08-13 15:53:47 -04:00
35 lines
810 B
Java
35 lines
810 B
Java
|
package msc.gs.event;
|
||
|
|
||
|
import msc.gs.model.GameObject;
|
||
|
import 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;
|
||
|
}
|
||
|
|
||
|
}
|