package electrosphere.menu; import electrosphere.renderer.ui.Element; import electrosphere.renderer.ui.form.FormElement; public class MenuGeneratorsMultiplayer { public static Element createMultiplayerCharacterCreationWindow(){ FormElement rVal = new FormElement(); // int screenTop = Globals.WINDOW_HEIGHT - 150; List saveNames = SaveUtils.getSaves(); int verticalPosition = 125; for(String saveName : saveNames){ if(!saveName.startsWith(".")){ //button (select save) Button selectButton = new Button(); Label selectLabel = new Label(100,125 + verticalPosition,1.0f); selectLabel.setText(saveName.toUpperCase()); selectButton.addChild(selectLabel); rVal.addChild(selectButton); selectButton.setOnClick(new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){ if(SaveUtils.worldHasSave(saveName.toLowerCase())){ LoadingThread clientThread = new LoadingThread(LoadingThread.LOAD_CHARACTER_SERVER); Globals.loadingThreadsList.add(clientThread); LoadingThread serverThread = new LoadingThread(LoadingThread.LOAD_MAIN_GAME); Globals.loadingThreadsList.add(serverThread); Globals.RUN_CLIENT = true; Globals.RUN_SERVER = true; clientThread.start(); serverThread.start(); } else { Globals.currentSaveName = saveName.toLowerCase(); SaveUtils.loadTerrainAndCreateWorldData(); WindowUtils.replaceMainMenuContents(MenuGenerators.createSaveCreationMenu()); } return false; }}); verticalPosition = verticalPosition + 75; } } //button (create) Button createButton = new Button(); Label createLabel = new Label(100,125 + verticalPosition + 200,1.0f); createLabel.setText("Create World"); createButton.addChild(createLabel); rVal.addChild(createButton); createButton.setOnClick(new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){ WindowUtils.replaceMainMenuContents(MenuGenerators.createWorldCreationMenu()); return false; }}); return rVal; } }