Server/Server/src/main/java/uulm/teamname/marvelous/server/netconnector/Client.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;
}
}