blob: 49484a2f3ff03562ea0a8d65775e350a0b8b5be6 [file] [log] [blame] [raw]
package net.lightstone.msg.handler;
import net.lightstone.model.Player;
import net.lightstone.msg.IdentificationMessage;
import net.lightstone.net.Session;
import net.lightstone.net.Session.State;
public final class IdentificationMessageHandler extends MessageHandler<IdentificationMessage> {
@Override
public void handle(Session session, Player player, IdentificationMessage message) {
Session.State state = session.getState();
if (state == Session.State.EXCHANGE_IDENTIFICATION) {
session.setState(State.GAME);
session.send(new IdentificationMessage(0, "", "", 0, 0));
session.setPlayer(new Player(session, message.getName())); // TODO case-correct the name
} else {
boolean game = state == State.GAME;
session.disconnect(game ? "Identification already exchanged." : "Handshake not yet exchanged.");
}
}
}