Show Human/Network type correctly on game join
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@435 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
ebacf1ae74
commit
79767f762e
1 changed files with 20 additions and 2 deletions
|
@ -3,6 +3,9 @@ package jrummikub.control.network;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import jrummikub.model.GameSettings;
|
||||
import jrummikub.model.PlayerSettings;
|
||||
import jrummikub.model.PlayerSettings.Type;
|
||||
import jrummikub.util.Connection;
|
||||
import jrummikub.util.GameData;
|
||||
import jrummikub.util.IListener1;
|
||||
|
@ -30,13 +33,28 @@ public class GameJoinControl {
|
|||
@Override
|
||||
public void handle(GameData data) {
|
||||
if (data.getGameID().equals(gameData.getGameID())) {
|
||||
gameData.setGameSettings(data.getGameSettings());
|
||||
view.getSettingsPanel().setGameSettings(data.getGameSettings());
|
||||
GameSettings settings = data.getGameSettings();
|
||||
|
||||
fixGameSettings(settings);
|
||||
|
||||
gameData.setGameSettings(settings);
|
||||
view.getSettingsPanel().setGameSettings(settings);
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void fixGameSettings(GameSettings settings) {
|
||||
for (PlayerSettings player : settings.getPlayerList()) {
|
||||
if (player.getType() == Type.HUMAN) {
|
||||
player.setType(Type.NETWORK);
|
||||
} else if (player.getType() == Type.NETWORK
|
||||
&& player.getName().equals(connectionControl.getNickname())) {
|
||||
player.setType(Type.HUMAN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void startGameJoin() {
|
||||
view.showSettingsPanel(true);
|
||||
}
|
||||
|
|
Reference in a new issue