package server.login;
import server.Config;
import server.GameServer;
import server.Gender;
import server.Race;
import server.XRunnable;
public class ChooseGenderStep {
private final LoginHandler handler;
private final int raceId;
public ChooseGenderStep(LoginHandler handler, int raceId) {
this.handler = handler;
this.raceId = raceId;
}
public Gender run() throws Exception {
handler.println(true, "What gender would you like your character to be?");
Gender[] genders = (Gender[])
GameServer.invokeAndWait(new XRunnable() {
public Object run() throws Exception {
Race race = Config.getRace(raceId);
if (race == null) {
race = Config.getUnknownRace();
}
return race.getGenders().toArray(new Gender[] {});
}
});
if (genders.length == 0) {
genders = new Gender[] { Gender.MALE, Gender.FEMALE };
}
String[] strings = new String[genders.length];
for (int i = 0; i < strings.length; i++) {
strings[i] = genders[i].getMenuName();
}
return genders[handler.doMenu(strings)];
}
}