summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control')
-rw-r--r--src/jrummikub/control/TurnControl.java86
1 files changed, 55 insertions, 31 deletions
diff --git a/src/jrummikub/control/TurnControl.java b/src/jrummikub/control/TurnControl.java
index ace201e..d280096 100644
--- a/src/jrummikub/control/TurnControl.java
+++ b/src/jrummikub/control/TurnControl.java
@@ -77,6 +77,33 @@ public class TurnControl {
connections.add(view.getPlayerPanel().getEndTurnEvent()
.add(endOfTurnListener));
+ addHandPanelHandlers();
+ addStoneCollectionHandlers();
+ addTablePanelHandlers();
+
+ connections.add(view.getPlayerPanel().getSortByGroupsEvent()
+ .add(new IListener() {
+ @Override
+ public void handle() {
+ sortByGroups();
+ }
+ }));
+
+ connections.add(view.getPlayerPanel().getSortByRunsEvent()
+ .add(new IListener() {
+ @Override
+ public void handle() {
+ sortByRuns();
+ }
+ }));
+
+ view.getPlayerPanel().getHandPanel().setStones(hand.clone());
+ view.enableStartTurnPanel(false);
+
+ timer.startTimer();
+ }
+
+ private void addHandPanelHandlers() {
connections.add(view.getPlayerPanel().getHandPanel().getClickEvent()
.add(new IListener1<Position>() {
@Override
@@ -85,8 +112,8 @@ public class TurnControl {
}
}));
- connections.add(view.getPlayerPanel().getHandPanel()
- .getStoneClickEvent().add(new IListener2<Stone, Boolean>() {
+ connections.add(view.getPlayerPanel().getHandPanel().getStoneClickEvent()
+ .add(new IListener2<Stone, Boolean>() {
@Override
public void handle(Stone stone, Boolean collect) {
@@ -94,15 +121,17 @@ public class TurnControl {
}
}));
- connections.add(view.getPlayerPanel().getHandPanel()
- .getRangeClickEvent().add(new IListener2<Stone, Boolean>() {
+ connections.add(view.getPlayerPanel().getHandPanel().getRangeClickEvent()
+ .add(new IListener2<Stone, Boolean>() {
@Override
public void handle(Stone stone, Boolean collect) {
handRangeClick(stone, collect);
}
}));
+ }
+ private void addStoneCollectionHandlers() {
connections.add(view.getTablePanel().getStoneCollectionPanel()
.getStoneClickEvent().add(new IListener2<Stone, Boolean>() {
@@ -111,6 +140,7 @@ public class TurnControl {
collectionStoneClick(stone, collect);
}
}));
+
connections.add(view.getTablePanel().getStoneCollectionPanel()
.getSetClickEvent().add(new IListener2<Stone, Boolean>() {
@@ -119,6 +149,9 @@ public class TurnControl {
collectionSetClick(stone, collect);
}
}));
+ }
+
+ private void addTablePanelHandlers() {
connections.add(view.getTablePanel().getStoneClickEvent()
.add(new IListener2<Stone, Boolean>() {
@@ -127,6 +160,7 @@ public class TurnControl {
stoneClick(stone, collect);
}
}));
+
connections.add(view.getTablePanel().getSetClickEvent()
.add(new IListener2<Stone, Boolean>() {
@@ -135,6 +169,7 @@ public class TurnControl {
tableSetClick(stone, collect);
}
}));
+
connections.add(view.getTablePanel().getRangeClickEvent()
.add(new IListener2<Stone, Boolean>() {
@@ -151,6 +186,11 @@ public class TurnControl {
tableClick(pos);
}
}));
+
+ addTablePanelConnectorClickHandlers();
+ }
+
+ private void addTablePanelConnectorClickHandlers() {
connections.add(view.getTablePanel().getLeftConnectorClickEvent()
.add(new IListener1<StoneSet>() {
@Override
@@ -158,6 +198,7 @@ public class TurnControl {
connectorClick(set, false);
}
}));
+
connections.add(view.getTablePanel().getRightConnectorClickEvent()
.add(new IListener1<StoneSet>() {
@Override
@@ -165,25 +206,6 @@ public class TurnControl {
connectorClick(set, true);
}
}));
- connections.add(view.getPlayerPanel().getSortByGroupsEvent()
- .add(new IListener() {
- @Override
- public void handle() {
- sortByGroups();
- }
- }));
- connections.add(view.getPlayerPanel().getSortByRunsEvent()
- .add(new IListener() {
- @Override
- public void handle() {
- sortByRuns();
- }
- }));
-
- view.getPlayerPanel().getHandPanel().setStones(hand.clone());
- view.enableStartTurnPanel(false);
-
- timer.startTimer();
}
private void handClick(Position pos) {
@@ -226,8 +248,8 @@ public class TurnControl {
if (y >= GameControl.HAND_HEIGHT) {
throw new ArrayIndexOutOfBoundsException(); // TODO We can't
- // handle
- // this yet...
+ // handle
+ // this yet...
}
}
}
@@ -401,12 +423,15 @@ public class TurnControl {
table.drop(joinedSet, newPos);
} else {
StoneSet joinedSet = new StoneSet(selectedStones).join(newSet);
- table.drop(joinedSet, new Position(newPos.getX()
- - selectedStones.size(), newPos.getY()));
+ table.drop(joinedSet,
+ new Position(newPos.getX() - selectedStones.size(), newPos.getY()));
}
} else {
- table.drop(new StoneSet(selectedStones), new Position(pos.getX()
- + (set.size() - selectedStones.size()) * 0.5f, pos.getY()));
+ table.drop(
+ new StoneSet(selectedStones),
+ new Position(
+ pos.getX() + (set.size() - selectedStones.size()) * 0.5f, pos
+ .getY()));
}
selectedStones.clear();
@@ -506,8 +531,7 @@ public class TurnControl {
static class HandStonePositionComparator implements
Comparator<Pair<Stone, Position>> {
@Override
- public int compare(Pair<Stone, Position> pair1,
- Pair<Stone, Position> pair2) {
+ public int compare(Pair<Stone, Position> pair1, Pair<Stone, Position> pair2) {
Position pos1 = pair1.getSecond(), pos2 = pair2.getSecond();
if (pos1.getY() < pos2.getY()) {
return -1;