LoginState enum
This commit is contained in:
@@ -582,19 +582,20 @@ public class Client extends ChannelInboundHandlerAdapter {
|
||||
return accId;
|
||||
}
|
||||
|
||||
public void setLoginState(int newState) {
|
||||
if (newState == LoginState.LOGGED_OUT) {
|
||||
loggedIn = false;
|
||||
inServerTransition = false;
|
||||
setAccID(0);
|
||||
} else if (newState == LoginState.SERVER_TRANSITION) {
|
||||
loggedIn = false;
|
||||
inServerTransition = true;
|
||||
} else if (newState == LoginState.LOGGED_IN) {
|
||||
loggedIn = true;
|
||||
inServerTransition = false;
|
||||
} else {
|
||||
throw new IllegalArgumentException("Invalid login state: " + newState);
|
||||
public void onChangedLoginState(LoginState newState) {
|
||||
switch (newState) {
|
||||
case LoginState.LOGGED_OUT -> {
|
||||
loggedIn = false;
|
||||
inServerTransition = false;
|
||||
}
|
||||
case LoginState.SERVER_TRANSITION -> {
|
||||
loggedIn = false;
|
||||
inServerTransition = true;
|
||||
}
|
||||
case LoginState.LOGGED_IN -> {
|
||||
loggedIn = true;
|
||||
inServerTransition = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,29 @@
|
||||
package client;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author Ponk
|
||||
*/
|
||||
public class LoginState {
|
||||
public static final byte LOGGED_OUT = 0;
|
||||
public static final byte SERVER_TRANSITION = 1;
|
||||
public static final byte LOGGED_IN = 2;
|
||||
public enum LoginState {
|
||||
LOGGED_OUT(0),
|
||||
SERVER_TRANSITION(1),
|
||||
LOGGED_IN(2);
|
||||
|
||||
private final byte value;
|
||||
|
||||
LoginState(int value) {
|
||||
this.value = (byte) value;
|
||||
}
|
||||
|
||||
public byte getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public static Optional<LoginState> fromValue(int value) {
|
||||
return Arrays.stream(values())
|
||||
.filter(v -> v.getValue() == value)
|
||||
.findFirst();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user