From: Stefan F. <ste...@us...> - 2010-02-24 22:11:00
|
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; |