From: Stefan F. <ste...@us...> - 2010-04-09 07:20:35
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv9545/rails/ui/swing Modified Files: StatusWindow.java GameUIManager.java ORUIManager.java Log Message: Added Tile and Token location hints Some minor fixes Index: StatusWindow.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/StatusWindow.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** StatusWindow.java 4 Apr 2010 22:02:53 -0000 1.42 --- StatusWindow.java 9 Apr 2010 07:20:27 -0000 1.43 *************** *** 699,703 **** StringBuilder report = new StringBuilder(); for (String s:gameReport) { ! report.insert(0, s); JOptionPane.showMessageDialog(this, report, --- 699,703 ---- StringBuilder report = new StringBuilder(); for (String s:gameReport) { ! report.insert(0, s + "\n"); JOptionPane.showMessageDialog(this, report, Index: ORUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORUIManager.java,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** ORUIManager.java 28 Mar 2010 17:05:56 -0000 1.62 --- ORUIManager.java 9 Apr 2010 07:20:27 -0000 1.63 *************** *** 7,11 **** --- 7,15 ---- import org.apache.log4j.Logger; + import org.jgrapht.graph.SimpleGraph; + import rails.algorithms.NetworkEdge; + import rails.algorithms.NetworkGraphBuilder; + import rails.algorithms.NetworkVertex; import rails.game.*; import rails.game.action.*; *************** *** 46,49 **** --- 50,54 ---- public List<LayTile> allowedTileLays = new ArrayList<LayTile>(); public List<TileI> tileUpgrades; + private List<MapHex> hexUpgrades; private boolean tokenLayingEnabled = false; *************** *** 121,124 **** --- 126,138 ---- } + private SimpleGraph<NetworkVertex, NetworkEdge> getCompanyGraph(){ + MapManager mapManager = gameUIManager.getGameManager().getMapManager(); + NetworkGraphBuilder nwGraph = new NetworkGraphBuilder(); + nwGraph.generateGraph(mapManager.getHexesAsList()); + SimpleGraph<NetworkVertex, NetworkEdge> graph = + nwGraph.getRailRoadGraph(orComp); + return graph; + } + public <T extends PossibleAction> void setMapRelatedActions(List<T> actions) { *************** *** 137,169 **** } if (allowedTileLays.size() > 0) { nextSubStep = ORUIManager.SELECT_HEX_FOR_TILE; mapPanel.setAllowedTileLays(allowedTileLays); ! } else { ! if (tileLayingEnabled) { ! /* Finish tile laying step */ ! if (selectedHex != null) { ! selectedHex.removeTile(); ! selectedHex.setSelected(false); ! mapPanel.getMap().repaint(selectedHex.getBounds()); ! selectedHex = null; } } } ! if (allowedTokenLays.size() > 0) { nextSubStep = ORUIManager.SELECT_HEX_FOR_TOKEN; mapPanel.setAllowedTokenLays(allowedTokenLays); ! } else { ! if (tokenLayingEnabled) { ! /* Finish token laying step */ ! if (selectedHex != null) { ! selectedHex.removeToken(); ! selectedHex.setSelected(false); ! mapPanel.getMap().repaint(selectedHex.getBounds()); ! selectedHex = null; } } ! } setLocalStep(nextSubStep); --- 151,214 ---- } + // moved the check for finishing steps to the beginning + if (allowedTileLays.size() == 0 && tileLayingEnabled) { + /* Finish tile laying step */ + if (selectedHex != null) { + selectedHex.removeTile(); + selectedHex.setSelected(false); + mapPanel.getMap().repaint(selectedHex.getBounds()); + selectedHex = null; + } + // remove selectable indications + for (MapHex hex:hexUpgrades) { + GUIHex guiHex = map.getHexByName(hex.getName()); + guiHex.setSelectable(false); + mapPanel.getMap().repaint(guiHex.getBounds()); + } + hexUpgrades = null; + } + + if (allowedTokenLays.size() == 0 && tokenLayingEnabled) { + /* Finish token laying step */ + if (selectedHex != null) { + selectedHex.removeToken(); + selectedHex.setSelected(false); + mapPanel.getMap().repaint(selectedHex.getBounds()); + selectedHex = null; + } + // remove selectable indications + for (MapHex hex:hexUpgrades) { + GUIHex guiHex = map.getHexByName(hex.getName()); + guiHex.setSelectable(false); + mapPanel.getMap().repaint(guiHex.getBounds()); + } + hexUpgrades = null; + } + if (allowedTileLays.size() > 0) { nextSubStep = ORUIManager.SELECT_HEX_FOR_TILE; mapPanel.setAllowedTileLays(allowedTileLays); ! // generate network graph to indicate the allowed tiles ! hexUpgrades = NetworkGraphBuilder.getMapHexes(getCompanyGraph()); ! for (MapHex hex:hexUpgrades) { ! if (hex.isUpgradeableNow()){ ! GUIHex guiHex = map.getHexByName(hex.getName()); ! guiHex.setSelectable(true); } } } ! if (allowedTokenLays.size() > 0) { nextSubStep = ORUIManager.SELECT_HEX_FOR_TOKEN; mapPanel.setAllowedTokenLays(allowedTokenLays); ! // generate network graph to indicate the token lays ! hexUpgrades = NetworkGraphBuilder.getStationHexes(getCompanyGraph(), true); ! for (MapHex hex:hexUpgrades) { ! if (hex.hasTokenSlotsLeft()){ ! GUIHex guiHex = map.getHexByName(hex.getName()); ! guiHex.setSelectable(true); } } ! } setLocalStep(nextSubStep); Index: GameUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/GameUIManager.java,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** GameUIManager.java 4 Apr 2010 22:02:53 -0000 1.45 --- GameUIManager.java 9 Apr 2010 07:20:27 -0000 1.46 *************** *** 606,628 **** JFileChooser jfc = new JFileChooser(); String filename; ! if (providedName != null) filename = providedName; ! else { filename = saveDirectory + "/" + gameManager.getGameName() + "_" + saveDateTimeFormat.format(new Date()) + saveSuffix + ".txt"; ! File proposedFile = new File(filename); ! jfc.setSelectedFile(proposedFile); ! if (jfc.showSaveDialog(statusWindow) == JFileChooser.APPROVE_OPTION) { ! File selectedFile = jfc.getSelectedFile(); ! String filepath = selectedFile.getPath(); ! saveDirectory = selectedFile.getParent(); ! if (!selectedFile.getName().equalsIgnoreCase(proposedFile.getName())) { ! providedName = filepath; ! } ! exportAction.setFilepath(filepath); ! processOnServer(exportAction); } } } --- 606,628 ---- JFileChooser jfc = new JFileChooser(); String filename; ! if (providedName != null) { filename = providedName; ! } else { filename = saveDirectory + "/" + gameManager.getGameName() + "_" + saveDateTimeFormat.format(new Date()) + saveSuffix + ".txt"; + } ! File proposedFile = new File(filename); ! jfc.setSelectedFile(proposedFile); ! if (jfc.showSaveDialog(statusWindow) == JFileChooser.APPROVE_OPTION) { ! File selectedFile = jfc.getSelectedFile(); ! String filepath = selectedFile.getPath(); ! saveDirectory = selectedFile.getParent(); ! if (!selectedFile.getName().equalsIgnoreCase(proposedFile.getName())) { ! providedName = filepath; } + exportAction.setFilepath(filepath); + processOnServer(exportAction); } } |