Renderer/src/main/java/electrosphere/net/client/protocol/AuthProtocol.java
2023-01-28 22:23:01 -05:00

39 lines
1.5 KiB
Java

package electrosphere.net.client.protocol;
import electrosphere.engine.Globals;
import electrosphere.logger.LoggerInterface;
import electrosphere.net.parser.net.message.AuthMessage;
import electrosphere.net.parser.net.message.CharacterMessage;
import electrosphere.net.parser.net.message.LoreMessage;
import electrosphere.net.parser.net.message.TerrainMessage;
public class AuthProtocol {
protected static void handleAuthenticationMessage(AuthMessage message){
switch(message.getMessageSubtype()){
case AUTHREQUEST:
//Try login
//TODO: actually get user/pass
Globals.clientConnection.queueOutgoingMessage(AuthMessage.constructAuthDetailsMessage(Globals.clientUsername,Globals.clientPassword));
break;
case AUTHSUCCESS:
//clean password hash from memory
Globals.clientPassword = "";
//request playable races
Globals.clientConnection.queueOutgoingMessage(LoreMessage.constructRequestRacesMessage());
//log that we succeeded
LoggerInterface.loggerAuth.INFO("Successfully logged in");
break;
case AUTHFAILURE:
//TODO: handle better
LoggerInterface.loggerAuth.ERROR("Auth failure",new Exception("Auth failure"));
break;
//ignore stack
case AUTHDETAILS:
//silently ignore
break;
}
}
}