39 lines
1.5 KiB
Java
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;
|
|
}
|
|
}
|
|
|
|
}
|