working on train movements
This commit is contained in:
12
src/main/java/de/srsoftware/web4rail/actions/Action.java
Normal file
12
src/main/java/de/srsoftware/web4rail/actions/Action.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package de.srsoftware.web4rail.actions;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public abstract class Action {
|
||||
public abstract void fire() throws IOException;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getClass().getSimpleName();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package de.srsoftware.web4rail.actions;
|
||||
|
||||
import de.srsoftware.web4rail.Route;
|
||||
|
||||
public class ActivateRoute extends Action {
|
||||
|
||||
private Route route;
|
||||
|
||||
public ActivateRoute(Route route) {
|
||||
this.route = route;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fire() {
|
||||
route.activate();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package de.srsoftware.web4rail.actions;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import de.srsoftware.web4rail.Route;
|
||||
|
||||
public class FinishRoute extends Action {
|
||||
|
||||
private Route route;
|
||||
|
||||
public FinishRoute(Route route) {
|
||||
this.route = route;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fire() throws IOException {
|
||||
route.finish();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package de.srsoftware.web4rail.actions;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import de.srsoftware.web4rail.Route;
|
||||
import de.srsoftware.web4rail.tiles.Signal;
|
||||
|
||||
public class SetSignalsToStop extends Action {
|
||||
|
||||
private Route route;
|
||||
|
||||
public SetSignalsToStop(Route route) {
|
||||
this.route = route;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fire() throws IOException {
|
||||
route.setSignals(Signal.STOP);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package de.srsoftware.web4rail.actions;
|
||||
|
||||
import de.srsoftware.web4rail.Route;
|
||||
import de.srsoftware.web4rail.moving.Train;
|
||||
|
||||
public class SpeedReduction extends Action {
|
||||
|
||||
private int maxSpeed;
|
||||
private Route route;
|
||||
|
||||
public SpeedReduction(Route route, int kmh) {
|
||||
this.route = route;
|
||||
maxSpeed = kmh;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fire() {
|
||||
Train train = route.train;
|
||||
if (train != null && train.speed > maxSpeed) train.setSpeed(maxSpeed);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user