jfreerails.move
Class ChangeGameSpeedMove

java.lang.Object
  extended by jfreerails.move.ChangeGameSpeedMove
All Implemented Interfaces:
java.io.Serializable, Move, FreerailsSerializable

public class ChangeGameSpeedMove
extends java.lang.Object
implements Move

Changes the game speed item on the world object.

Author:
Jan Tozicka
See Also:
Serialized Form

Field Summary
private  GameSpeed newSpeed
           
private  GameSpeed oldSpeed
           
private static long serialVersionUID
           
 
Constructor Summary
private ChangeGameSpeedMove(GameSpeed before, GameSpeed after)
           
 
Method Summary
 MoveStatus doMove(World w, FreerailsPrincipal p)
          Executes this move on the specifed world object.
 boolean equals(java.lang.Object o)
           
static ChangeGameSpeedMove getMove(ReadOnlyWorld w, GameSpeed newGameSpeed)
           
 int getNewSpeed()
           
 int hashCode()
           
 java.lang.String toString()
           
 MoveStatus tryDoMove(World w, FreerailsPrincipal p)
          Tests whether this Move can be executed on the specifed world object, this method should leave the world object unchanged.
 MoveStatus tryUndoMove(World w, FreerailsPrincipal p)
          Tests whether this Move can be undone on the specifed world object, this method should leave the world object unchanged.
 MoveStatus undoMove(World w, FreerailsPrincipal p)
          If doMove has just been executed on the specified world object, calling this method changes the state of the world object back to how it was before doMove was called.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

oldSpeed

private final GameSpeed oldSpeed

newSpeed

private final GameSpeed newSpeed
Constructor Detail

ChangeGameSpeedMove

private ChangeGameSpeedMove(GameSpeed before,
                            GameSpeed after)
Method Detail

getMove

public static ChangeGameSpeedMove getMove(ReadOnlyWorld w,
                                          GameSpeed newGameSpeed)

tryDoMove

public MoveStatus tryDoMove(World w,
                            FreerailsPrincipal p)
Description copied from interface: Move
Tests whether this Move can be executed on the specifed world object, this method should leave the world object unchanged.

Specified by:
tryDoMove in interface Move

tryUndoMove

public MoveStatus tryUndoMove(World w,
                              FreerailsPrincipal p)
Description copied from interface: Move
Tests whether this Move can be undone on the specifed world object, this method should leave the world object unchanged.

Specified by:
tryUndoMove in interface Move

doMove

public MoveStatus doMove(World w,
                         FreerailsPrincipal p)
Description copied from interface: Move
Executes this move on the specifed world object.

Specified by:
doMove in interface Move

undoMove

public MoveStatus undoMove(World w,
                           FreerailsPrincipal p)
Description copied from interface: Move
If doMove has just been executed on the specified world object, calling this method changes the state of the world object back to how it was before doMove was called.

Specified by:
undoMove in interface Move

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

getNewSpeed

public int getNewSpeed()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object