summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/network/ConnectionControl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control/network/ConnectionControl.java')
-rw-r--r--src/jrummikub/control/network/ConnectionControl.java20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/jrummikub/control/network/ConnectionControl.java b/src/jrummikub/control/network/ConnectionControl.java
index 171c15d..56dac8c 100644
--- a/src/jrummikub/control/network/ConnectionControl.java
+++ b/src/jrummikub/control/network/ConnectionControl.java
@@ -4,6 +4,7 @@ import java.util.UUID;
import javax.swing.SwingUtilities;
+import jrummikub.model.GameSettings;
import jrummikub.util.Event;
import jrummikub.util.Event1;
import jrummikub.util.IEvent;
@@ -24,6 +25,7 @@ import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smack.packet.PacketExtension;
import org.jivesoftware.smack.packet.XMPPError;
import org.jivesoftware.smack.packet.XMPPError.Type;
+import org.jivesoftware.smack.util.Base64;
import org.jivesoftware.smackx.muc.DiscussionHistory;
import org.jivesoftware.smackx.muc.MultiUserChat;
@@ -120,14 +122,10 @@ class ConnectionControl {
host = host.substring(host.indexOf('/') + 1);
UUID uuid = UUID.fromString(extension.getValue("uuid"));
- int currentPlayerCount = Integer.parseInt(extension
- .getValue("currentPlayerCount"));
- int maxPlayerCount = Integer.parseInt(extension
- .getValue("maxPlayerCount"));
-
- GameData gameData = new GameData(uuid, host);
- gameData.setCurrentPlayerCount(currentPlayerCount);
- gameData.setMaxPlayerCount(maxPlayerCount);
+ GameSettings settings = (GameSettings) Base64.decodeToObject(extension
+ .getValue("gameSettings"));
+
+ GameData gameData = new GameData(uuid, settings, host);
gameOfferEvent.emit(gameData);
} else if (messageType.equals("game_withdrawal")) {
gameWithdrawalEvent.emit(UUID.fromString(extension.getValue("uuid")));
@@ -143,10 +141,8 @@ class ConnectionControl {
extension.setValue("messageType", "game_offer");
extension.setValue("uuid", data.getGameID().toString());
- extension.setValue("currentPlayerCount",
- Integer.toString(data.getCurrentPlayerCount()));
- extension.setValue("maxPlayerCount",
- Integer.toString(data.getMaxPlayerCount()));
+ extension.setValue("gameSettings",
+ Base64.encodeObject(data.getGameSettings(), Base64.GZIP));
return createMessage(extension);
}