Update of /cvsroot/rails/18xx/rails/game
In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv13909/rails/game
Modified Files:
MapHex.java
Log Message:
Fixes undo bug for blocked home hex (bug #2954645)
Changed isBlocked attribute of MapHex to BooleanState
Index: MapHex.java
===================================================================
RCS file: /cvsroot/rails/18xx/rails/game/MapHex.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** MapHex.java 16 Feb 2010 20:16:07 -0000 1.38
--- MapHex.java 24 Feb 2010 22:10:45 -0000 1.39
***************
*** 12,15 ****
--- 12,16 ----
import rails.game.move.Moveable;
import rails.game.move.TileMove;
+ import rails.game.state.BooleanState;
import rails.util.*;
***************
*** 84,88 ****
protected Map<Integer, City> mCities;
! protected boolean isBlocked = false;
protected Map<PublicCompanyI, City> homes;
--- 85,93 ----
protected Map<Integer, City> mCities;
! /*
! * changed to state variable to fix undo bug #2954645
! * null as default implies false - see isBlocked()
! */
! private BooleanState isBlockedState = null;
protected Map<PublicCompanyI, City> homes;
***************
*** 884,899 ****
*/
public boolean isBlocked() {
! return isBlocked;
}
/**
! * @param isBlocked The isBlocked to set.
*/
public void setBlocked(boolean isBlocked) {
! this.isBlocked = isBlocked;
}
public boolean isUpgradeableNow() {
! if (isBlocked) {
log.debug("Hex " + name + " is blocked");
return false;
--- 889,910 ----
*/
public boolean isBlocked() {
! if (isBlockedState == null)
! return false;
! else
! return isBlockedState.booleanValue();
}
/**
! * @param isBlocked The isBlocked to set (state variable)
*/
public void setBlocked(boolean isBlocked) {
! if (isBlockedState == null)
! isBlockedState = new BooleanState("isBlocked", isBlocked);
! else
! isBlockedState.set(isBlocked);
}
public boolean isUpgradeableNow() {
! if (isBlocked()) {
log.debug("Hex " + name + " is blocked");
return false;
|