Request Messages now sending to server, need to update game and send response packet.

tags: #story[1142]
This commit is contained in:
Alistair McIntyre
2017-08-16 14:54:50 +12:00
parent bd213bcd9e
commit 1db75a8ae4
8 changed files with 115 additions and 7 deletions
@@ -24,6 +24,8 @@ import org.slf4j.LoggerFactory;
import seng302.gameServer.server.messages.BoatAction;
import seng302.gameServer.server.messages.BoatActionMessage;
import seng302.gameServer.server.messages.ClientType;
import seng302.gameServer.server.messages.CustomizeRequestMessage;
import seng302.gameServer.server.messages.CustomizeRequestType;
import seng302.gameServer.server.messages.Message;
import seng302.gameServer.server.messages.RegistrationRequestMessage;
import seng302.gameServer.server.messages.RegistrationResponseStatus;
@@ -173,6 +175,15 @@ public class ClientToServerThread implements Runnable {
clientLog("Closed connection to Server", 0);
}
public void sendCustomizationRequest(CustomizeRequestType reqType, byte[] payload) {
CustomizeRequestMessage requestMessage = new CustomizeRequestMessage(reqType, this.clientId, payload);
try {
os.write(requestMessage.getBuffer());
} catch (IOException e) {
logger.error("Could not send customization request");
}
}
/**
* Sends a request to the server asking for a source ID
@@ -136,6 +136,7 @@ public class GameClient {
e.printStackTrace();
}
LobbyController lobbyController = fxmlLoader.getController();
lobbyController.setSocketThread(socketThread);
lobbyController.setPlayerListSource(clientLobbyList);
lobbyController.setPlayerID(socketThread.getClientId());
@@ -0,0 +1,39 @@
package seng302.visualiser.controllers;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.ColorPicker;
import javafx.scene.control.TextField;
import seng302.gameServer.server.messages.CustomizeRequestType;
import seng302.visualiser.ClientToServerThread;
public class CustomizationController {
@FXML
private TextField nameField;
@FXML
private ColorPicker boatColorPicker;
@FXML
private Button customizeSubmit;
private ClientToServerThread socketThread;
public void initialize() {
}
public void setServerThread(ClientToServerThread ctsThread) {
this.socketThread = ctsThread;
}
@FXML
public void submitCustomization() {
System.out.println("Attempting to send");
socketThread.sendCustomizationRequest(CustomizeRequestType.NAME, nameField.getText().getBytes());
}
}
@@ -1,5 +1,8 @@
package seng302.visualiser.controllers;
import com.sun.deploy.util.SessionState.Client;
import com.sun.media.jfxmedia.logging.Logger;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -7,13 +10,18 @@ import javafx.application.Platform;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import seng302.gameServer.GameStages;
import seng302.gameServer.GameState;
import seng302.visualiser.ClientToServerThread;
import seng302.visualiser.GameView;
/**
@@ -72,6 +80,8 @@ public class LobbyController {
private List<ImageView> imageViews = new ArrayList<>();
private List<TextArea> listViews = new ArrayList<>();
private ClientToServerThread socketThread;
private int MAX_NUM_PLAYERS = 8;
private Integer playerID;
@@ -129,7 +139,23 @@ public class LobbyController {
@FXML
public void customize() {
System.out.println(playerID);
Parent root;
try {
FXMLLoader fxmlLoader = new FXMLLoader(LobbyController.class.getResource("/views/customizeView.fxml"));
root = fxmlLoader.load();
Stage customizeStage = new Stage();
CustomizationController cc = fxmlLoader.getController();
cc.setServerThread(this.socketThread);
customizeStage.setTitle("Customize Boat");
customizeStage.setScene(new Scene(root, 700, 450));
customizeStage.show();
} catch (IOException e) {
Logger.logMsg(4, "Failed to load Customization View from resources.");
}
}
public void setSocketThread(ClientToServerThread thread) {
this.socketThread = thread;
}
@FXML