193 lines
7.2 KiB
Java
193 lines
7.2 KiB
Java
package electrosphere.menu;
|
|
|
|
import electrosphere.controls.ControlHandler;
|
|
import electrosphere.engine.LoadingThread;
|
|
import electrosphere.main.Globals;
|
|
import electrosphere.main.Main;
|
|
import electrosphere.net.NetUtils;
|
|
import electrosphere.net.client.ClientNetworking;
|
|
import electrosphere.renderer.ui.Widget;
|
|
import electrosphere.renderer.ui.font.TextBox;
|
|
|
|
/**
|
|
*
|
|
* @author amaterasu
|
|
*/
|
|
public class MenuTransition {
|
|
public static void selectOption(Menu m){
|
|
switch(m.getType()){
|
|
case TITLE_MENU:
|
|
switch(m.getCurrentOption()){
|
|
//single player
|
|
case 0:
|
|
// m.dispose();
|
|
// Globals.loadingThread = new LoadingThread(LoadingThread.LOAD_MAIN_GAME);
|
|
// Globals.RUN_CLIENT = true;
|
|
// Globals.RUN_SERVER = true;
|
|
// Globals.loadingThread.start();
|
|
m.dispose();
|
|
Globals.currentMenu = MenuUtils.createWorldSelectMenu();
|
|
break;
|
|
//multi player
|
|
case 1:
|
|
m.dispose();
|
|
Globals.currentMenu = MenuUtils.createMultiplayerMenu();
|
|
break;
|
|
//arena
|
|
case 2:
|
|
m.dispose();
|
|
Globals.loadingThread = new LoadingThread(LoadingThread.LOAD_ARENA);
|
|
Globals.RUN_CLIENT = true;
|
|
Globals.RUN_SERVER = true;
|
|
Globals.loadingThread.start();
|
|
break;
|
|
//options
|
|
case 3:
|
|
m.dispose();
|
|
Globals.currentMenu = MenuUtils.createOptionsMainMenu();
|
|
break;
|
|
//test
|
|
case 4:
|
|
m.dispose();
|
|
Globals.currentMenu = MenuUtils.createTestMainMenu();
|
|
break;
|
|
}
|
|
break;
|
|
case WORLD_SELECT_MENU:
|
|
break;
|
|
case WORLD_CREATE_MENU:
|
|
break;
|
|
case SAVE_CREATE_MENU:
|
|
break;
|
|
case MULTIPLAYER_MENU:
|
|
switch(m.getCurrentOption()){
|
|
//HOST
|
|
case 0:
|
|
m.dispose();
|
|
Globals.loadingThread = new LoadingThread(LoadingThread.LOAD_MAIN_GAME);
|
|
Globals.RUN_CLIENT = true;
|
|
Globals.RUN_SERVER = true;
|
|
Globals.loadingThread.start();
|
|
break;
|
|
//JOIN
|
|
case 1:
|
|
m.dispose();
|
|
Globals.currentMenu = MenuUtils.createIPMenu();
|
|
break;
|
|
//back
|
|
case 2:
|
|
backout(m);
|
|
break;
|
|
|
|
}
|
|
break;
|
|
case IP_MENU:
|
|
switch(m.getCurrentOption()){
|
|
//connect
|
|
case 2:
|
|
NetUtils.setAddress( ( (TextBox)m.getOptions().get(0) ).getText() );
|
|
NetUtils.setPort( Integer.parseInt( ( (TextBox)m.getOptions().get(1) ).getText() ) );
|
|
m.dispose();
|
|
Globals.loadingThread = new LoadingThread(LoadingThread.LOAD_MAIN_GAME);
|
|
Globals.RUN_CLIENT = true;
|
|
Globals.RUN_SERVER = false;
|
|
Globals.loadingThread.start();
|
|
break;
|
|
//back
|
|
case 3:
|
|
backout(m);
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
public static void backout(Menu m){
|
|
switch(m.getType()){
|
|
case TITLE_MENU:
|
|
Main.running = false;
|
|
break;
|
|
case WORLD_SELECT_MENU:
|
|
m.dispose();
|
|
Globals.currentMenu = MenuUtils.createTitleMenu();
|
|
break;
|
|
case MULTIPLAYER_MENU:
|
|
m.dispose();
|
|
Globals.currentMenu = MenuUtils.createTitleMenu();
|
|
break;
|
|
case IP_MENU:
|
|
m.dispose();
|
|
Globals.currentMenu = MenuUtils.createMultiplayerMenu();
|
|
break;
|
|
case OPTIONS_MAIN_MENU:
|
|
m.dispose();
|
|
Globals.currentMenu = MenuUtils.createTitleMenu();
|
|
break;
|
|
case TEST:
|
|
m.dispose();
|
|
Globals.currentMenu = MenuUtils.createTitleMenu();
|
|
break;
|
|
}
|
|
}
|
|
|
|
public static void menuType(Menu m, String code){
|
|
char toWrite = ' ';
|
|
Widget currentOption = m.getOptions().get(m.getCurrentOption());
|
|
boolean backspace = false;
|
|
switch(code){
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_BACKSPACE:
|
|
if(currentOption instanceof TextBox){
|
|
TextBox currentTextBox = (TextBox)currentOption;
|
|
String currentText = currentTextBox.getText();
|
|
if(currentText.length() > 0){
|
|
currentTextBox.setText(currentText.substring(0, currentText.length() - 1));
|
|
}
|
|
}
|
|
backspace = true;
|
|
break;
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_0:
|
|
toWrite = '0';
|
|
break;
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_1:
|
|
toWrite = '1';
|
|
break;
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_2:
|
|
toWrite = '2';
|
|
break;
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_3:
|
|
toWrite = '3';
|
|
break;
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_4:
|
|
toWrite = '4';
|
|
break;
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_5:
|
|
toWrite = '5';
|
|
break;
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_6:
|
|
toWrite = '6';
|
|
break;
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_7:
|
|
toWrite = '7';
|
|
break;
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_8:
|
|
toWrite = '8';
|
|
break;
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_9:
|
|
toWrite = '9';
|
|
break;
|
|
case ControlHandler.DATA_STRING_INPUT_CODE_MENU_TYPE_PERIOD:
|
|
toWrite = '.';
|
|
break;
|
|
}
|
|
if(!backspace){
|
|
if(currentOption instanceof TextBox){
|
|
TextBox currentTextBox = (TextBox)currentOption;
|
|
String currentText = currentTextBox.getText();
|
|
if(currentText.length() < currentTextBox.getCols()){
|
|
currentTextBox.setText(currentText + toWrite);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|