From: <bur...@us...> - 2009-11-28 14:22:19
|
Revision: 6004 http://freecol.svn.sourceforge.net/freecol/?rev=6004&view=rev Author: burschik Date: 2009-11-28 14:22:13 +0000 (Sat, 28 Nov 2009) Log Message: ----------- Improve locked item calculation. Modified Paths: -------------- freecol/branches/0.9.x/src/net/sf/freecol/client/gui/panel/BuildQueuePanel.java Modified: freecol/branches/0.9.x/src/net/sf/freecol/client/gui/panel/BuildQueuePanel.java =================================================================== --- freecol/branches/0.9.x/src/net/sf/freecol/client/gui/panel/BuildQueuePanel.java 2009-11-28 01:57:13 UTC (rev 6003) +++ freecol/branches/0.9.x/src/net/sf/freecol/client/gui/panel/BuildQueuePanel.java 2009-11-28 14:22:13 UTC (rev 6004) @@ -251,6 +251,8 @@ } if (locked) { lockedTypes.add(unitType); + } else { + lockedTypes.remove(unitType); } if (!locked || showAll.isSelected()) { units.addElement(unitType); @@ -306,6 +308,8 @@ } if (locked) { lockedTypes.add(buildingType); + } else { + lockedTypes.remove(buildingType); } if (!locked || showAll.isSelected()) { buildings.addElement(buildingType); @@ -323,7 +327,6 @@ current.removeElement(type); } } - lockedTypes.clear(); // ATTENTION: buildings must be updated first, since units // might depend on the build ability of an unbuildable // building @@ -423,9 +426,7 @@ if (colony.getOwner() == getMyPlayer()) { String command = event.getActionCommand(); List<BuildableType> buildables = getBuildableTypes(buildQueueList); - // TODO: improve calculation of locked types, so that we - // don't need to call colony.canBuild() - if (!buildables.isEmpty() && !colony.canBuild(buildables.get(0))) { + if (!buildables.isEmpty() && lockedTypes.contains(buildables.get(0))) { getCanvas().showInformationMessage("colonyPanel.unbuildable", buildables.get(0), "%colony%", colony.getName(), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |