Allow laying out stone sets
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@180 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
b9fbe279c3
commit
b86571cf83
8 changed files with 209 additions and 125 deletions
|
@ -12,6 +12,7 @@ import jrummikub.util.Connection;
|
|||
import jrummikub.util.Event;
|
||||
import jrummikub.util.IEvent;
|
||||
import jrummikub.util.IListener;
|
||||
import jrummikub.util.IListener1;
|
||||
import jrummikub.util.IListener2;
|
||||
import jrummikub.view.IView;
|
||||
|
||||
|
@ -59,8 +60,7 @@ public class TurnControl {
|
|||
|
||||
@Override
|
||||
public void handle(Stone stone, Boolean collect) {
|
||||
handStoneClick(stone, collect);
|
||||
|
||||
stoneClick(stone, collect);
|
||||
}
|
||||
}));
|
||||
|
||||
|
@ -72,6 +72,36 @@ public class TurnControl {
|
|||
collectionStoneClick(stone, collect);
|
||||
}
|
||||
}));
|
||||
connections.add(view.getTablePanel().getStoneClickEvent()
|
||||
.add(new IListener2<Stone, Boolean>() {
|
||||
|
||||
@Override
|
||||
public void handle(Stone stone, Boolean collect) {
|
||||
stoneClick(stone, collect);
|
||||
}
|
||||
}));
|
||||
|
||||
connections.add(view.getTablePanel().getClickEvent()
|
||||
.add(new IListener1<Position>() {
|
||||
@Override
|
||||
public void handle(Position pos) {
|
||||
tableClick(pos);
|
||||
}
|
||||
}));
|
||||
connections.add(view.getTablePanel().getLeftConnectorClickEvent()
|
||||
.add(new IListener1<StoneSet>() {
|
||||
@Override
|
||||
public void handle(StoneSet set) {
|
||||
leftConnectorClick(set);
|
||||
}
|
||||
}));
|
||||
connections.add(view.getTablePanel().getRightConnectorClickEvent()
|
||||
.add(new IListener1<StoneSet>() {
|
||||
@Override
|
||||
public void handle(StoneSet set) {
|
||||
rightConnectorClick(set);
|
||||
}
|
||||
}));
|
||||
|
||||
view.getPlayerPanel().getHandPanel().setStones(hand.clone());
|
||||
view.enableStartTurnPanel(false);
|
||||
|
@ -87,7 +117,7 @@ public class TurnControl {
|
|||
|
||||
}
|
||||
|
||||
private void handStoneClick(Stone stone, boolean collect) {
|
||||
private void stoneClick(Stone stone, boolean collect) {
|
||||
if (collect) {
|
||||
if (!selectedStones.remove(stone)) {
|
||||
selectedStones.add(stone);
|
||||
|
@ -109,17 +139,34 @@ public class TurnControl {
|
|||
|
||||
view.setSelectedStones(selectedStones);
|
||||
}
|
||||
|
||||
private void leftConnectorClick(StoneSet set){
|
||||
|
||||
|
||||
private void pickUpSelectedStones() {
|
||||
for (Stone stone : selectedStones) {
|
||||
hand.pickUp(stone);
|
||||
table.pickUpStone(stone);
|
||||
}
|
||||
}
|
||||
|
||||
private void rightConnectorClick(StoneSet set){
|
||||
|
||||
|
||||
private void tableClick(Position position) {
|
||||
if (selectedStones.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
pickUpSelectedStones();
|
||||
table.drop(new StoneSet(selectedStones), position);
|
||||
selectedStones.clear();
|
||||
|
||||
view.getTablePanel().setStoneSets(table);
|
||||
view.getPlayerPanel().getHandPanel().setStones(hand);
|
||||
view.setSelectedStones(selectedStones);
|
||||
}
|
||||
|
||||
private void tableClick(Position position){
|
||||
|
||||
|
||||
private void leftConnectorClick(StoneSet set) {
|
||||
|
||||
}
|
||||
|
||||
private void rightConnectorClick(StoneSet set) {
|
||||
|
||||
}
|
||||
|
||||
private void endOfTurn() {
|
||||
|
|
Reference in a new issue