jfreerails.controller
Class TrackMoveProducer
java.lang.Object
jfreerails.controller.TrackMoveProducer
public final class TrackMoveProducer
- extends java.lang.Object
Provides methods that generate moves that build, upgrade, and remove track.
- Author:
- Luke
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
mr
private final ModelRoot mr
executor
private final MoveExecutor executor
moveStack
private final java.util.Stack<Move> moveStack
lastMoveTime
private GameTime lastMoveTime
transactionsGenerator
private final TrackMoveTransactionsGenerator transactionsGenerator
- This generates the transactions - the charge - for the track being built.
TrackMoveProducer
public TrackMoveProducer(MoveExecutor executor,
ReadOnlyWorld world,
ModelRoot mr)
TrackMoveProducer
public TrackMoveProducer(ModelRoot mr)
buildTrack
public MoveStatus buildTrack(ImPoint from,
Step[] path)
buildTrack
public MoveStatus buildTrack(ImPoint from,
Step trackVector)
upgradeTrack
public MoveStatus upgradeTrack(ImPoint point)
setTrackBuilderMode
public void setTrackBuilderMode(TrackMoveProducer.BuildMode i)
upgradeTrack
private MoveStatus upgradeTrack(ImPoint point,
int trackRuleID)
undoLastTrackMove
public MoveStatus undoLastTrackMove()
clearStackIfStale
private void clearStackIfStale()
- Moves are only un-doable if no game time has passed since they they were
executed. This method clears the move stack if the moves were added to
the stack at a time other than the current time.
getTrackBuilderMode
public TrackMoveProducer.BuildMode getTrackBuilderMode()
sendMove
private MoveStatus sendMove(Move m)
isStationHere
private boolean isStationHere(ImPoint p)
setBuildTrackStrategy
public void setBuildTrackStrategy(BuildTrackStrategy buildTrackStrategy)
getBuildTrackStrategy
public BuildTrackStrategy getBuildTrackStrategy()
setBuildMode
public void setBuildMode(TrackMoveProducer.BuildMode buildMode)
getBuildMode
public TrackMoveProducer.BuildMode getBuildMode()