summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/RoundControl.java
diff options
context:
space:
mode:
authorJannis Harder <harder@informatik.uni-luebeck.de>2011-06-20 02:19:47 +0200
committerJannis Harder <harder@informatik.uni-luebeck.de>2011-06-20 02:19:47 +0200
commitace7175f1a57f3dc88a861842969e84efacf65ad (patch)
tree98408e214e12933fc193cc3d340aeb0f3aeda071 /src/jrummikub/control/RoundControl.java
parentfcf33eb280d64b0ce376f7fa10d508c153b2ada9 (diff)
downloadJRummikub-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.java19
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() {