package kaaass.es2k.mission; import kaaass.es2k.Main; import kaaass.es2k.Main.SendType; public abstract class IMission extends Thread { public int id; public IMission () { id = Main.missionManager.add(this); } public abstract SendType getInfo(); public abstract void onStart(); public abstract void onStop(); public abstract void onRun(); public abstract void onEnd(); public abstract String getTitle(); public abstract String getDesc(); public abstract String getStates(); public abstract Object getType(); public abstract String getTypeName(); public abstract IMission restart(); public void start () { this.onStart(); super.start(); } public boolean end () { this.onStop(); return super.interrupted(); } public void run () { this.onRun(); this.onEnd(); Main.missionManager.endMission(id); } public void pause () { yield(); } public boolean equals (Object o) { if (o instanceof IMission) { return ((IMission) o).id == this.id; } return false; } }