59 lines
1.3 KiB
Java
59 lines
1.3 KiB
Java
package uulm.teamname.marvelous.server.netconnector;
|
|
|
|
import org.java_websocket.WebSocket;
|
|
import uulm.teamname.marvelous.gamelibrary.messages.BasicMessage;
|
|
import uulm.teamname.marvelous.gamelibrary.messages.ErrorMessage;
|
|
|
|
import java.util.Optional;
|
|
|
|
public class Client {
|
|
public final WebSocket socket;
|
|
private SUID id;
|
|
private ClientState state = ClientState.Blank;
|
|
|
|
public Client(WebSocket socket) {
|
|
this.socket = socket;
|
|
}
|
|
|
|
public boolean sendError(String error) {
|
|
ErrorMessage errorMessage = new ErrorMessage();
|
|
errorMessage.message = error;
|
|
return sendMessage(errorMessage);
|
|
}
|
|
|
|
public boolean sendMessage(BasicMessage message) {
|
|
if(socket == null) {
|
|
return false;
|
|
}
|
|
|
|
Optional<String> data = UserManager.getInstance().json.stringify(message);
|
|
|
|
if (data.isEmpty()) {
|
|
return false;
|
|
}
|
|
|
|
socket.send(data.get());
|
|
return true;
|
|
}
|
|
|
|
public WebSocket getSocket() {
|
|
return socket;
|
|
}
|
|
|
|
public ClientState getState() {
|
|
return state;
|
|
}
|
|
|
|
public SUID getId() {
|
|
return id;
|
|
}
|
|
|
|
public void setId(SUID id) {
|
|
this.id = id;
|
|
}
|
|
|
|
public void setState(ClientState state) {
|
|
this.state = state;
|
|
}
|
|
}
|