Search in sources :

Example 81 with Table

use of com.badlogic.gdx.scenes.scene2d.ui.Table in project skin-composer by raeleus.

the class DialogLoading method populate.

public void populate() {
    Table t = getContentTable();
    Label label = new Label("Loading...", skin, !DialogSceneComposer.isShowing() ? "title" : "scene-title");
    label.setAlignment(Align.center);
    t.add(label);
    t.row();
    Table table = new Table(skin);
    table.setBackground(!DialogSceneComposer.isShowing() ? loadingAnimation : loadingAnimation2);
    t.add(table);
}
Also used : Table(com.badlogic.gdx.scenes.scene2d.ui.Table) Label(com.badlogic.gdx.scenes.scene2d.ui.Label)

Example 82 with Table

use of com.badlogic.gdx.scenes.scene2d.ui.Table in project skin-composer by raeleus.

the class Core method create.

@Override
public void create() {
    // read properties file
    properties = new ObjectMap<>();
    try {
        PropertiesUtils.load(properties, Gdx.files.internal("values.properties").reader());
    } catch (IOException e) {
        Gdx.app.error(getClass().getName(), "Error reading installer properties file.", e);
    }
    // create user interface
    skin = new Skin(Gdx.files.internal("ui/skin-composer-installer-ui.json"));
    stage = new Stage(new ScreenViewport());
    Gdx.input.setInputProcessor(stage);
    root = new Table();
    root.pad(10.0f);
    root.setFillParent(true);
    root.setTouchable(Touchable.enabled);
    root.setName("root");
    stage.addActor(root);
    // Add drag listener to move window
    stage.addListener(new DragListener() {

        @Override
        public void drag(InputEvent event, float x, float y, int pointer) {
            if (event.getTarget() == root) {
                desktopWorker.dragWindow(windowStartX + (int) x - dragStartX, windowStartY + dragStartY - (int) y);
                windowStartX = desktopWorker.getWindowX();
                windowStartY = desktopWorker.getWindowY();
            }
        }

        @Override
        public void dragStart(InputEvent event, float x, float y, int pointer) {
            dragStartX = (int) x;
            dragStartY = (int) y;
            windowStartX = desktopWorker.getWindowX();
            windowStartY = desktopWorker.getWindowY();
        }
    });
    root.defaults().space(6);
    var label = new Label(properties.get("product-name"), skin, "small");
    label.setTouchable(Touchable.disabled);
    root.add(label).expandX().left();
    root.row();
    var button = new TextButton("Uninstall", skin);
    root.add(button).grow();
    button.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            performUninstall();
        }
    });
    root.row();
    button = new TextButton("Quit", skin);
    root.add(button).height(30).growX();
    button.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            Gdx.app.exit();
        }
    });
}
Also used : TextButton(com.badlogic.gdx.scenes.scene2d.ui.TextButton) Table(com.badlogic.gdx.scenes.scene2d.ui.Table) Label(com.badlogic.gdx.scenes.scene2d.ui.Label) IOException(java.io.IOException) ScreenViewport(com.badlogic.gdx.utils.viewport.ScreenViewport) DragListener(com.badlogic.gdx.scenes.scene2d.utils.DragListener) Actor(com.badlogic.gdx.scenes.scene2d.Actor) Stage(com.badlogic.gdx.scenes.scene2d.Stage) Skin(com.badlogic.gdx.scenes.scene2d.ui.Skin) ChangeListener(com.badlogic.gdx.scenes.scene2d.utils.ChangeListener) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent)

Example 83 with Table

use of com.badlogic.gdx.scenes.scene2d.ui.Table in project ProjektGG by eskalon.

the class GameMapScreen method create.

@Override
protected void create() {
    super.create();
    camera = new CameraWrapper(67, application.getWidth(), application.getHeight());
    camera.setPosition(application.getWidth() / 2, application.getHeight() / 2, 0);
    postProcessor = new PostProcessingPipeline(application.getWidth(), application.getHeight(), true);
    pausePostProcessingEffect = new ColorBlendEffect(application.getUICamera(), new Color(0.4F, 0.4F, 0.4F, 0.4F));
    gameRenderer = new GameRenderer(camera.getCamera(), fragmentShader.getString());
    selectionInputController = new MapSelectionInputController(application.getEventBus(), camera.getCamera());
    addInputProcessor(selectionInputController);
    movementInputController = new MapMovementInputController(camera, application.getSettings());
    addInputProcessor(movementInputController);
    gameSpeedInputProcessor = new GameSpeedInputProcessor(application.getSettings());
    addInputProcessor(gameSpeedInputProcessor);
    // CHARACTER DIALOG
    BasicDialog characterMenuDialog = new BasicDialog(Lang.get("screen.map.character_config"), skin, "big");
    ImageTextButton closeCharacterMenuButton = new ImageTextButton(Lang.get("ui.generic.close"), skin);
    closeCharacterMenuButton.addListener(new ButtonClickListener(application.getSoundManager()) {

        @Override
        protected void onClick() {
            characterMenuDialog.hide();
        }
    });
    Table characterMenuTable = new Table();
    Table changeableCharacterMenuTable = new Table();
    ImageTextButton characterMenuTab1Button = new ImageTextButton(Lang.get("screen.map.character_config.character"), skin);
    ImageTextButton characterMenuTab2Button = new ImageTextButton(Lang.get("screen.map.character_config.privileges"), skin);
    characterMenuTab1Button.addListener(new ButtonClickListener(application.getSoundManager()) {

        @Override
        protected void onClick() {
            // CHARACTER & FAMILY
            changeableCharacterMenuTable.clear();
            changeableCharacterMenuTable.add(new Label(Lang.get("screen.map.character_config.name"), skin, "dark")).padBottom(50).row();
            changeableCharacterMenuTable.add(new Label(Lang.get("screen.map.character_config.family"), skin, "dark")).row();
            changeableCharacterMenuTable.add(new Label(Lang.get("screen.map.character_config.find_so"), skin, "dark"));
        }
    });
    characterMenuTab2Button.addListener(new ButtonClickListener(application.getSoundManager()) {

        @Override
        protected void onClick() {
            // PRIVILEGES
            changeableCharacterMenuTable.clear();
            changeableCharacterMenuTable.add(new Label(Lang.get("screen.map.character_config.privileges_list"), skin, "dark")).row();
            if (application.getClient().getLocalPlayerCharacter().getPosition() != null) {
                // TODO Position privileges
                // TODO Impeachment
                ImageTextButton kickButton = new ImageTextButton(Lang.get("screen.map.character_config.privilege.impeach"), skin);
                kickButton.addListener(new ButtonClickListener(application.getSoundManager()) {

                    @Override
                    protected void onClick() {
                        short mayor = application.getClient().getSession().getWorld().getPosition(PositionType.MAYOR).getCurrentHolder();
                        if (mayor != -1)
                            application.getClient().getActionHandler().arrangeImpeachmentVote(mayor, (param) -> {
                                if ((Boolean) param == true) {
                                    SimpleTextDialog.createAndShow(stage, skin, Lang.get("screen.map.character_config.privilege.success"), Lang.get("ui.generic.wip"));
                                } else {
                                    SimpleTextDialog.createAndShow(stage, skin, Lang.get("ui.generic.error"), Lang.get("ui.generic.rmi_error"));
                                }
                            });
                    }
                });
                changeableCharacterMenuTable.add(kickButton);
            }
        }
    });
    Table characterMenuTabTable = new Table();
    characterMenuTabTable.add(characterMenuTab1Button).padRight(5);
    characterMenuTabTable.add(characterMenuTab2Button);
    characterMenuTable.add(characterMenuTabTable).padRight(30).padBottom(15).center().top().row();
    characterMenuTable.add(changeableCharacterMenuTable).padBottom(15).top().height(315).row();
    characterMenuTable.add(closeCharacterMenuButton).padRight(30).center().top();
    characterMenuDialog.add(characterMenuTable).pad(30);
    // PLAYER ICON
    iconButton = new ImageButton(skin.getDrawable(PlayerIcon.values()[0].getShieldDrawableName()));
    iconButton.addListener(new ButtonClickListener(application.getSoundManager()) {

        @Override
        protected void onClick() {
            characterMenuDialog.show(stage);
            characterMenuDialog.setPosition(0, 103);
        }
    });
    Table iconTable = new Table();
    iconTable.setBackground(skin.getDrawable("icon_background"));
    iconTable.add(iconButton).padLeft(8).padRight(10).padBottom(1);
    // INFO STUFF
    Table infoTable = new Table();
    // Gold
    Table goldTable = new Table();
    goldTable.setBackground(skin.getDrawable("info_background"));
    goldTable.add(new Image(skin.getDrawable("icon_gold_coin"))).left().top().padLeft(4).padBottom(2).padRight(4);
    goldTable.add(new Label("19 Gulden", skin, "dark")).padBottom(5).expandX().left().top();
    // Name
    Table nameTable = new Table();
    nameTable.setBackground(skin.getDrawable("info_background"));
    nameTable.add(new Label("Freiherr  Franz  von  Woyzeck", skin, "big_dark")).padBottom(2).expandX().left();
    // Notifications
    Table notificationTable = new Table();
    infoTable.add(goldTable).row();
    infoTable.add(nameTable).left().row();
    infoTable.add(notificationTable).left().padLeft(2).padTop(2).row();
    // DATE STUFF
    Table dateTimeTable = new Table();
    // Date
    Table dateTable = new Table();
    dateLabel = new Label("", skin, "dark");
    dateTable.setBackground(skin.getDrawable("date_background"));
    dateTable.add(dateLabel).padLeft(9).padBottom(5).expandX().left();
    // Clock
    Table clockTable = new Table();
    clockTable.setBackground(skin.getDrawable("clock_background"));
    dateTimeTable.add(dateTable).row();
    dateTimeTable.add(clockTable).right();
    // MISC
    Table miscTable = new Table();
    Table misc2Table = new Table();
    // Inventory
    ImageButton inventoryButton = new ImageButton(skin, "inventory");
    // Book
    ImageButton bookButton = new ImageButton(skin, "leaning_book");
    // Minimap
    Table minimapTable = new Table();
    minimapTable.setBackground(skin.getDrawable("minimap_test"));
    misc2Table.add(inventoryButton).padRight(2);
    misc2Table.add(bookButton).padTop(2).row();
    miscTable.add(misc2Table).right().row();
    miscTable.add(minimapTable);
    mainTable.setSkin(skin);
    mainTable.setFillParent(true);
    mainTable.add(iconTable).top().left();
    mainTable.add(infoTable).top().left();
    mainTable.add(dateTimeTable).right().expandX().row();
    mainTable.add("").fill();
    mainTable.add("").expand().fill();
    mainTable.add(miscTable).expandY().bottom().right();
    // PAUSE DIALOG
    pauseDialog = new BasicDialog("", skin) {

        @Override
        protected void result(Object object) {
            pauseShown = false;
            postProcessor.removeEffect(pausePostProcessingEffect);
            if (object == (Integer) 1) {
                application.getScreenManager().pushScreen("settings", "blendingTransition");
            } else {
                Log.info("Client", "Verbindung wird getrennt");
                final GameClient client = application.getClient();
                final GameServer server = application.getServer();
                // Set stuff to null to stop updates
                application.setClient(null);
                application.setServer(null);
                ThreadHandler.getInstance().executeRunnable(() -> {
                    client.disconnect();
                    if (server != null) {
                        server.stop();
                    }
                });
                DiscordGGHandler.getInstance().setMenuPresence();
                application.getScreenManager().pushScreen("main_menu", null);
            }
        }
    };
    pauseDialog.button(Lang.get("screen.map.pause.settings"), 1).button(Lang.get("screen.map.pause.disconnect"), 2);
    houseSelectionDialog = new BasicDialog("", skin);
    houseSelectionDialog.button("Test");
    stage.addListener(new InputListener() {

        @Override
        public boolean keyDown(InputEvent event, int keycode) {
            if (keycode == Keys.ESCAPE) {
                if (pauseShown) {
                    pauseDialog.hide();
                    postProcessor.removeEffect(pausePostProcessingEffect);
                } else {
                    pauseDialog.show(stage);
                    postProcessor.addEffect(pausePostProcessingEffect);
                }
                pauseShown = !pauseShown;
                return true;
            }
            return false;
        }
    });
}
Also used : InputListener(com.badlogic.gdx.scenes.scene2d.InputListener) ButtonClickListener(de.gg.game.input.ButtonClickListener) SimpleTextDialog(de.gg.game.ui.components.SimpleTextDialog) ThreadHandler(de.damios.guacamole.concurrent.ThreadHandler) BasicDialog(de.gg.game.ui.components.BasicDialog) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent) Table(com.badlogic.gdx.scenes.scene2d.ui.Table) GameClient(de.gg.game.network.GameClient) MapSelectionInputController(de.gg.game.input.MapSelectionInputController) PlayerIcon(de.gg.game.model.types.PlayerIcon) Asset(de.eskalon.commons.asset.AnnotationAssetManager.Asset) Lang(de.eskalon.commons.lang.Lang) HouseSelectionEvent(de.gg.game.events.HouseSelectionEvent) GameSpeedInputProcessor(de.gg.game.input.GameSpeedInputProcessor) ImageTextButton(com.badlogic.gdx.scenes.scene2d.ui.ImageTextButton) GameSession(de.gg.game.session.GameSession) Label(com.badlogic.gdx.scenes.scene2d.ui.Label) Log(de.damios.guacamole.gdx.Log) Subscribe(com.google.common.eventbus.Subscribe) PositionType(de.gg.game.model.types.PositionType) GameServer(de.gg.game.network.GameServer) Image(com.badlogic.gdx.scenes.scene2d.ui.Image) ColorBlendEffect(de.eskalon.commons.graphics.postproc.impl.ColorBlendEffect) HouseEnterEvent(de.gg.game.events.HouseEnterEvent) World(de.gg.game.model.World) CameraWrapper(de.gg.engine.ui.rendering.CameraWrapper) GameRenderer(de.gg.game.ui.rendering.GameRenderer) FullHourEvent(de.gg.game.events.FullHourEvent) DiscordGGHandler(de.gg.game.misc.DiscordGGHandler) Color(com.badlogic.gdx.graphics.Color) Text(de.damios.guacamole.gdx.assets.Text) ProjektGGApplication(de.gg.game.core.ProjektGGApplication) GameClock(de.gg.game.misc.GameClock) PostProcessingPipeline(de.eskalon.commons.graphics.postproc.PostProcessingPipeline) Keys(com.badlogic.gdx.Input.Keys) MapMovementInputController(de.gg.game.input.MapMovementInputController) Player(de.gg.game.model.entities.Player) ImageButton(com.badlogic.gdx.scenes.scene2d.ui.ImageButton) ImageTextButton(com.badlogic.gdx.scenes.scene2d.ui.ImageTextButton) GameClient(de.gg.game.network.GameClient) ColorBlendEffect(de.eskalon.commons.graphics.postproc.impl.ColorBlendEffect) Label(com.badlogic.gdx.scenes.scene2d.ui.Label) Image(com.badlogic.gdx.scenes.scene2d.ui.Image) MapSelectionInputController(de.gg.game.input.MapSelectionInputController) ImageButton(com.badlogic.gdx.scenes.scene2d.ui.ImageButton) InputListener(com.badlogic.gdx.scenes.scene2d.InputListener) ButtonClickListener(de.gg.game.input.ButtonClickListener) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent) GameServer(de.gg.game.network.GameServer) GameSpeedInputProcessor(de.gg.game.input.GameSpeedInputProcessor) BasicDialog(de.gg.game.ui.components.BasicDialog) CameraWrapper(de.gg.engine.ui.rendering.CameraWrapper) PostProcessingPipeline(de.eskalon.commons.graphics.postproc.PostProcessingPipeline) Table(com.badlogic.gdx.scenes.scene2d.ui.Table) MapMovementInputController(de.gg.game.input.MapMovementInputController) Color(com.badlogic.gdx.graphics.Color) GameRenderer(de.gg.game.ui.rendering.GameRenderer)

Example 84 with Table

use of com.badlogic.gdx.scenes.scene2d.ui.Table in project ProjektGG by eskalon.

the class LobbyScreen method create.

@Override
protected void create() {
    super.create();
    setImage(backgroundTexture);
    PlayerLobbyConfigDialog playerConfigDialog = new PlayerLobbyConfigDialog(application, skin);
    ImageTextButton playerSettingsButton = new ImageTextButton(Lang.get("screen.lobby.configure"), skin);
    playerSettingsButton.addListener(new ButtonClickListener(application.getSoundManager()) {

        @Override
        protected void onClick() {
            playerConfigDialog.initUIValues(application.getClient().getLobbyPlayers(), application.getClient().getLocalLobbyPlayer());
            playerConfigDialog.show(stage);
        }
    });
    ImageTextButton leaveButton = new ImageTextButton(Lang.get("screen.lobby.disconnect"), skin);
    leaveButton.addListener(new ButtonClickListener(application.getSoundManager()) {

        @Override
        protected void onClick() {
            Log.info("Client", "Disconnecting from Lobby");
            final GameClient client = application.getClient();
            final GameServer server = application.getServer();
            application.setClient(null);
            application.setServer(null);
            ThreadHandler.getInstance().executeRunnable(() -> {
                client.disconnect();
                Log.info("Client", "Client disconnected");
                if (server != null) {
                    server.stop();
                }
                Log.info("Server", "Server stopped");
            });
            application.getScreenManager().pushScreen("server_browser", null);
        }
    });
    readyUpLobbyButton = new ImageTextButton(Lang.get("screen.lobby.ready"), skin);
    readyUpLobbyButton.addListener(new ButtonClickListener(application.getSoundManager()) {

        @Override
        protected void onClick() {
            // TODO warum nicht readyUp(); ?
            application.getClient().getLocalLobbyPlayer().toggleReady();
            application.getClient().getActionHandler().changeLocalPlayer(application.getClient().getLocalLobbyPlayer());
            updateLobbyUI();
        }
    });
    settingsArea = new Label("", skin);
    settingsArea.setAlignment(Align.topLeft);
    settingsArea.setWrap(true);
    Table playerTable = new Table();
    Table buttonTable = new Table();
    Table chatTable = new Table();
    buttonTable.add(playerSettingsButton).bottom().padBottom(18).row();
    buttonTable.add(readyUpLobbyButton).padBottom(18).row();
    buttonTable.add(leaveButton).padBottom(50);
    Table chatInputTable = new Table();
    ImageTextButton sendButton = new ImageTextButton(Lang.get("screen.lobby.send"), skin);
    chatInputField = new OffsettableTextField("", skin, "large", 8);
    chatInputField.setTextFieldListener(new TextFieldListener() {

        @Override
        public void keyTyped(TextField textField, char key) {
            if (!textField.getText().isEmpty() && key == '\n') {
                // Enter
                application.getSoundManager().playSoundEffect("button_click");
                application.getClient().getActionHandler().sendChatmessage(chatInputField.getText());
                application.getClient().getChatMessages().add(new ChatMessage(application.getClient().getLocalLobbyPlayer(), chatInputField.getText()));
                setUIValues();
                chatInputField.setText("");
            }
        }
    });
    sendButton.addListener(new ButtonClickListener(application.getSoundManager()) {

        @Override
        protected void onClick() {
            application.getClient().getActionHandler().sendChatmessage(chatInputField.getText());
            application.getClient().getChatMessages().add(new ChatMessage(application.getClient().getLocalLobbyPlayer(), chatInputField.getText()));
            setUIValues();
            chatInputField.setText("");
        }

        @Override
        protected boolean arePreconditionsMet() {
            return !chatInputField.getText().isEmpty();
        }
    });
    messagesArea = new Label("", skin, "text");
    messagesArea.setWidth(425);
    messagesArea.setWrap(true);
    Table messagesTable = new Table();
    messagesTable.add(messagesArea).padLeft(10).left().top().expand();
    messagesPane = new ScrollPane(messagesTable, skin, "with-background");
    messagesPane.setForceScroll(false, true);
    chatInputTable.add(chatInputField).left().width(325).padRight(15);
    chatInputTable.add(sendButton);
    chatTable.add(messagesPane).height(135).width(465).top().row();
    chatTable.add(chatInputTable).left().padTop(10).width(465).bottom();
    playerSlots = new Table[maxPlayerCount];
    for (int i = 0; i < playerSlots.length; i++) {
        playerSlots[i] = new Table();
        playerTable.add(playerSlots[i]).height(29).width(465).row();
    }
    Table mTable = new Table();
    mTable.setWidth(615);
    mTable.setHeight(475);
    mTable.setBackground(skin.getDrawable("parchment1"));
    mTable.add(playerTable).width(465).height(185).padBottom(15);
    mTable.add(settingsArea).width(155).height(185).row();
    mTable.add(chatTable).height(185).bottom();
    mTable.add(buttonTable).height(185);
    mainTable.add(mTable);
}
Also used : ImageTextButton(com.badlogic.gdx.scenes.scene2d.ui.ImageTextButton) Table(com.badlogic.gdx.scenes.scene2d.ui.Table) GameClient(de.gg.game.network.GameClient) ChatMessage(de.gg.game.ui.data.ChatMessage) Label(com.badlogic.gdx.scenes.scene2d.ui.Label) ButtonClickListener(de.gg.game.input.ButtonClickListener) ScrollPane(com.badlogic.gdx.scenes.scene2d.ui.ScrollPane) OffsettableTextField(de.gg.engine.ui.components.OffsettableTextField) TextField(com.badlogic.gdx.scenes.scene2d.ui.TextField) OffsettableTextField(de.gg.engine.ui.components.OffsettableTextField) PlayerLobbyConfigDialog(de.gg.game.ui.dialogs.PlayerLobbyConfigDialog) TextFieldListener(com.badlogic.gdx.scenes.scene2d.ui.TextField.TextFieldListener) GameServer(de.gg.game.network.GameServer)

Example 85 with Table

use of com.badlogic.gdx.scenes.scene2d.ui.Table in project ProjektGG by eskalon.

the class SettingsScreen method create.

@Override
protected void create() {
    super.create();
    BackInputProcessor backInput = new BackInputProcessor() {

        @Override
        public void onBackAction() {
            if (application.getScreenManager().getLastScreen() instanceof GameMapScreen)
                application.getScreenManager().pushScreen("map", "blendingTransition");
            else
                application.getScreenManager().pushScreen("main_menu", "blendingTransition");
        }
    };
    addInputProcessor(backInput);
    mainTable.addListener(new BackInputActorListener() {

        @Override
        public void onBackAction() {
            backInput.onBackAction();
        }
    });
    EskalonSettings settings = application.getSettings();
    // VOLUME
    Label masterVolume = new Label(Lang.get("screen.settings.master_volume"), skin);
    LeftClickSlider masterSlider = new LeftClickSlider(0, 1, 0.05F, false, skin);
    masterSlider.setValue(settings.getMasterVolume());
    masterSlider.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            settings.setMasterVolume(masterSlider.getValue());
            application.getSoundManager().setMasterVolume(masterSlider.getValue());
        }
    });
    Label effectVolume = new Label(Lang.get("screen.settings.effect_volume"), skin);
    LeftClickSlider effectSlider = new LeftClickSlider(0, 1, 0.05F, false, skin);
    effectSlider.setValue(settings.getEffectVolume());
    effectSlider.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            settings.setEffectVolume(effectSlider.getValue());
            application.getSoundManager().setEffectVolume(effectSlider.getValue());
        }
    });
    Label musicVolume = new Label(Lang.get("screen.settings.music_volume"), skin);
    LeftClickSlider musicSlider = new LeftClickSlider(0, 1, 0.05F, false, skin);
    musicSlider.setValue(settings.getMusicVolume());
    musicSlider.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            settings.setMusicVolume(musicSlider.getValue());
            application.getSoundManager().setMusicVolume(musicSlider.getValue());
        }
    });
    // KEYS
    Label forwardLabel = new Label(Lang.get("screen.settings.forward_key"), skin);
    KeySelectionInputField forwardButton = new KeySelectionInputField(settings, "cameraForward", skin, stage, application.getSoundManager());
    Label leftLabel = new Label(Lang.get("screen.settings.left_key"), skin);
    KeySelectionInputField leftButton = new KeySelectionInputField(settings, "cameraLeft", skin, stage, application.getSoundManager());
    Label backwardLabel = new Label(Lang.get("screen.settings.backwards_key"), skin);
    KeySelectionInputField backwardButton = new KeySelectionInputField(settings, "cameraBackward", skin, stage, application.getSoundManager());
    Label rightLabel = new Label(Lang.get("screen.settings.right_key"), skin);
    KeySelectionInputField rightButton = new KeySelectionInputField(settings, "cameraRight", skin, stage, application.getSoundManager());
    Label speedUpLabel = new Label(Lang.get("screen.settings.speed_up_key"), skin);
    KeySelectionInputField speedUpButton = new KeySelectionInputField(settings, "speedUpTime", skin, stage, application.getSoundManager());
    Label speedDownLabel = new Label(Lang.get("screen.settings.speed_down_key"), skin);
    KeySelectionInputField speedDownButton = new KeySelectionInputField(settings, "speedDownTime", skin, stage, application.getSoundManager());
    ImageTextButton backButton = new ImageTextButton(Lang.get("ui.generic.done"), skin);
    backButton.addListener(new ButtonClickListener(application.getSoundManager()) {

        @Override
        protected void onClick() {
            if (application.getScreenManager().getLastScreen() instanceof GameMapScreen)
                application.getScreenManager().pushScreen("map", "blendingTransition");
            else
                application.getScreenManager().pushScreen("main_menu", "blendingTransition");
        }
    });
    Table settingsTable = new Table();
    Table settings2ColTable = new Table();
    settings2ColTable.padTop(20);
    Table buttonTable = new Table();
    settings2ColTable.add(forwardLabel).padBottom(22).left();
    settings2ColTable.add(forwardButton).padBottom(22);
    settings2ColTable.add(masterVolume).padBottom(28).padLeft(75).padRight(10);
    settings2ColTable.add(masterSlider).padBottom(22).row();
    settings2ColTable.add(leftLabel).padBottom(22).left();
    settings2ColTable.add(leftButton).padBottom(22);
    settings2ColTable.add(effectVolume).padBottom(28).padLeft(75).padRight(10);
    settings2ColTable.add(effectSlider).padBottom(22).row();
    settings2ColTable.add(backwardLabel).padBottom(22).left();
    settings2ColTable.add(backwardButton).padBottom(22);
    settings2ColTable.add(musicVolume).padBottom(28).padLeft(75).padRight(10);
    settings2ColTable.add(musicSlider).padBottom(22).row();
    settings2ColTable.add(rightLabel).padBottom(55).left();
    settings2ColTable.add(rightButton).padBottom(55).row();
    settings2ColTable.add(speedUpLabel).padBottom(22).padRight(13).left();
    settings2ColTable.add(speedUpButton).padBottom(22).row();
    settings2ColTable.add(speedDownLabel).padBottom(22).padRight(13).left();
    settings2ColTable.add(speedDownButton).padBottom(22);
    settingsTable.left().top().add(settings2ColTable).row();
    buttonTable.add(backButton);
    Table mTable = new Table();
    mTable.setWidth(615);
    mTable.setHeight(475);
    mTable.setBackground(skin.getDrawable("parchment2"));
    mTable.add(settingsTable).width(580).height(405).padRight(90).row();
    mTable.add(buttonTable).height(50).bottom();
    mainTable.add(mTable);
}
Also used : KeySelectionInputField(de.gg.game.ui.components.KeySelectionInputField) ImageTextButton(com.badlogic.gdx.scenes.scene2d.ui.ImageTextButton) Table(com.badlogic.gdx.scenes.scene2d.ui.Table) Label(com.badlogic.gdx.scenes.scene2d.ui.Label) BackInputActorListener(de.gg.game.input.BackInputProcessor.BackInputActorListener) BackInputProcessor(de.gg.game.input.BackInputProcessor) LeftClickSlider(com.badlogic.gdx.scenes.scene2d.ui.LeftClickSlider) ButtonClickListener(de.gg.game.input.ButtonClickListener) Actor(com.badlogic.gdx.scenes.scene2d.Actor) EskalonSettings(de.eskalon.commons.settings.EskalonSettings) ChangeListener(com.badlogic.gdx.scenes.scene2d.utils.ChangeListener)

Aggregations

Table (com.badlogic.gdx.scenes.scene2d.ui.Table)85 Label (com.badlogic.gdx.scenes.scene2d.ui.Label)51 Stage (com.badlogic.gdx.scenes.scene2d.Stage)48 Skin (com.badlogic.gdx.scenes.scene2d.ui.Skin)36 TextButton (com.badlogic.gdx.scenes.scene2d.ui.TextButton)35 InputEvent (com.badlogic.gdx.scenes.scene2d.InputEvent)31 Actor (com.badlogic.gdx.scenes.scene2d.Actor)30 ChangeListener (com.badlogic.gdx.scenes.scene2d.utils.ChangeListener)25 ScrollPane (com.badlogic.gdx.scenes.scene2d.ui.ScrollPane)21 ClickListener (com.badlogic.gdx.scenes.scene2d.utils.ClickListener)18 Texture (com.badlogic.gdx.graphics.Texture)17 ScreenViewport (com.badlogic.gdx.utils.viewport.ScreenViewport)16 InputListener (com.badlogic.gdx.scenes.scene2d.InputListener)15 TextField (com.badlogic.gdx.scenes.scene2d.ui.TextField)14 TextureRegion (com.badlogic.gdx.graphics.g2d.TextureRegion)13 Image (com.badlogic.gdx.scenes.scene2d.ui.Image)12 ImageButton (com.badlogic.gdx.scenes.scene2d.ui.ImageButton)11 ImageTextButton (com.badlogic.gdx.scenes.scene2d.ui.ImageTextButton)11 CheckBox (com.badlogic.gdx.scenes.scene2d.ui.CheckBox)9 Dialog (com.badlogic.gdx.scenes.scene2d.ui.Dialog)8