diff options
author | Jannis Harder <harder@informatik.uni-luebeck.de> | 2011-06-20 02:19:47 +0200 |
---|---|---|
committer | Jannis Harder <harder@informatik.uni-luebeck.de> | 2011-06-20 02:19:47 +0200 |
commit | ace7175f1a57f3dc88a861842969e84efacf65ad (patch) | |
tree | 98408e214e12933fc193cc3d340aeb0f3aeda071 /src/jrummikub/control/RoundControl.java | |
parent | fcf33eb280d64b0ce376f7fa10d508c153b2ada9 (diff) | |
download | JRummikub-ace7175f1a57f3dc88a861842969e84efacf65ad.tar JRummikub-ace7175f1a57f3dc88a861842969e84efacf65ad.zip |
Continued side panel
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@499 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/control/RoundControl.java')
-rw-r--r-- | src/jrummikub/control/RoundControl.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/jrummikub/control/RoundControl.java b/src/jrummikub/control/RoundControl.java index 8dbf236..e18ce2e 100644 --- a/src/jrummikub/control/RoundControl.java +++ b/src/jrummikub/control/RoundControl.java @@ -18,6 +18,7 @@ import jrummikub.model.IHand; import jrummikub.model.IPlayer; import jrummikub.model.IRoundState; import jrummikub.model.ITable; +import jrummikub.model.Player; import jrummikub.model.PlayerSettings; import jrummikub.model.Position; import jrummikub.model.Score; @@ -92,6 +93,7 @@ public class RoundControl { * Continue a saved round after loading */ public void continueRound() { + connections.add(view.getStartTurnEvent().add(new IListener() { @Override public void handle() { @@ -141,6 +143,8 @@ public class RoundControl { } protected void doPrepareTurn() { + updateSidePanel(); + boolean isHuman = roundState.getActivePlayer().getPlayerSettings() .getType() == HUMAN; boolean oneHuman = roundState.getGameSettings().oneHuman(); @@ -207,6 +211,18 @@ public class RoundControl { turnControl.startTurn(); } + + private void updateSidePanel() { + view.showSidePanel(true); + view.getSidePanel().setGameSettings(roundState.getGameSettings()); + List<IPlayer> players = new ArrayList<IPlayer>(); + for (int i = 1; i < roundState.getPlayerCount(); i ++) { + players.add(roundState.getNthNextPlayer(-i)); + } + view.getSidePanel().setPlayers(players); + view.getSidePanel().setHeapCapacity(roundState.getGameSettings().getTotalStones()); + view.getSidePanel().setHeapSize(roundState.getGameHeap().getSize()); + } /** Override this */ protected void addTurnControlListeners(ITurnControl turnControl) { @@ -217,14 +233,12 @@ public class RoundControl { } void deal() { - view.getSidePanel().setHeapCapacity(roundState.getGameHeap().getSize()); for (int i = 0; i < roundState.getPlayerCount(); i++) { IHand hand = roundState.getNthNextPlayer(i).getHand(); for (int j = 0; j < roundState.getGameSettings().getNumberOfStonesDealt(); j++) { hand.drop(roundState.getGameHeap().drawStone(), new Position(0, 0)); } } - view.getSidePanel().setHeapSize(roundState.getGameHeap().getSize()); } @@ -410,7 +424,6 @@ public class RoundControl { Hand.WIDTH - 1, rowCount - 1)); } - view.getSidePanel().setHeapSize(roundState.getGameHeap().getSize()); } private void dealStone() { |