summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/network/GameOfferControl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control/network/GameOfferControl.java')
-rw-r--r--src/jrummikub/control/network/GameOfferControl.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/jrummikub/control/network/GameOfferControl.java b/src/jrummikub/control/network/GameOfferControl.java
index 247cd18..fd55fc1 100644
--- a/src/jrummikub/control/network/GameOfferControl.java
+++ b/src/jrummikub/control/network/GameOfferControl.java
@@ -13,6 +13,7 @@ import jrummikub.model.PlayerSettings;
import jrummikub.model.PlayerSettings.Type;
import jrummikub.util.Connection;
import jrummikub.util.GameData;
+import jrummikub.util.IListener;
import jrummikub.util.IListener2;
import jrummikub.view.ISettingsPanel;
import jrummikub.view.ISettingsPanel.SettingsMode;
@@ -70,6 +71,34 @@ public class GameOfferControl {
updateSettingsPanel(settings);
}
}));
+ connections.add(connectionControl.getGameLeaveEvent().add(new IListener2<UUID, String>() {
+ @Override
+ public void handle(UUID value1, String value2) {
+ List<PlayerSettings> players = gameData.getGameSettings().getPlayerList();
+ int index=0;
+ for(PlayerSettings s:players){
+ if (s.getName().equals(value2)){
+ break;
+ }
+ index++;
+ }
+ //Only remove network players
+ if(gameData.getGameSettings().getPlayerList().get(index).getType() == Type.NETWORK){
+ gameData.getGameSettings().getPlayerList().get(index).setType(Type.VACANT);
+ gameData.getGameSettings().getPlayerList().get(index).setName("Offen");
+ }
+ updateSettingsPanel(gameData.getGameSettings());
+ connectionControl.offerGame(gameData);
+
+ }
+ }));
+ connections.add(view.getSettingsPanel().getBackEvent().add(new IListener() {
+ @Override
+ public void handle() {
+ // TODO Auto-generated method stub
+
+ }
+ }));
}
private void updateSettingsPanel(GameSettings settings) {