Example usage for com.badlogic.gdx.scenes.scene2d.ui Container Container

List of usage examples for com.badlogic.gdx.scenes.scene2d.ui Container Container

Introduction

In this page you can find the example usage for com.badlogic.gdx.scenes.scene2d.ui Container Container.

Prototype

public Container(T actor) 

Source Link

Usage

From source file:com.bladecoder.engine.ui.DebugScreen.java

License:Apache License

@Override
public void show() {
    float size = DPIUtils.getPrefButtonSize();
    float margin = DPIUtils.getMarginSize();

    stage = new Stage(new ScreenViewport());

    table = new Table(ui.getSkin());
    table.setFillParent(true);/*  www  .  j  a v  a2 s . c  om*/
    table.left().top();
    table.pad(margin);

    table.addListener(new InputListener() {
        @Override
        public boolean keyUp(InputEvent event, int keycode) {
            if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK)
                ui.setCurrentScreen(Screens.SCENE_SCREEN);
            return true;
        }
    });

    stage.setKeyboardFocus(table);

    Button back = new Button(ui.getSkin(), "back");

    back.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            ui.setCurrentScreen(Screens.SCENE_SCREEN);
        }
    });

    Label title = new Label("DEBUG SCREEN", ui.getSkin(), "title");

    Table header = new Table();
    header.padBottom(margin);
    Container<Button> cont = new Container<Button>(back);
    cont.size(size);
    header.add(cont);
    header.add(title).fillX().expandX().left();
    table.add(header).colspan(3).fillX().expandX().left();

    // ------------- SPEED
    speedText = new TextField(Float.toString(((SceneScreen) ui.getScreen(Screens.SCENE_SCREEN)).getSpeed()),
            ui.getSkin());
    TextButton speedButton = new TextButton("Set Speed", ui.getSkin());
    speedButton.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            SceneScreen scnScr = (SceneScreen) ui.getScreen(Screens.SCENE_SCREEN);
            scnScr.setSpeed(Float.parseFloat(speedText.getText()));
        }
    });

    speedButton.pad(2, 3, 2, 3);
    HorizontalGroup sGroup = new HorizontalGroup();
    sGroup.space(10);
    sGroup.addActor(speedText);
    sGroup.addActor(speedButton);

    table.row().pad(5).align(Align.left);
    table.add(new Label("Game Speed: ", ui.getSkin(), "debug"));
    table.add(sGroup);

    // ------------- RECORDING

    final Recorder r = ui.getRecorder();
    TextButton play = new TextButton(r.isPlaying() ? "Stop" : "Play", ui.getSkin());
    rec = new TextButton(r.isRecording() ? "Stop Rec" : "Rec", ui.getSkin());
    play.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final Recorder r = ui.getRecorder();

            if (!r.isPlaying()) {
                r.setFilename(recordings.getSelected());
                r.load();
                r.setPlaying(true);
                ui.setCurrentScreen(Screens.SCENE_SCREEN);
            } else {
                r.setPlaying(false);
                ui.setCurrentScreen(Screens.SCENE_SCREEN);
            }
        }
    });

    rec.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final Recorder r = ui.getRecorder();

            if (r.isPlaying()) {
                r.setPlaying(false);
            }

            if (!r.isRecording())
                r.setFilename(recFilename.getText());

            r.setRecording(!r.isRecording());
            rec.setText(r.isRecording() ? "Stop Rec" : "Rec");

            if (r.isRecording())
                ui.setCurrentScreen(Screens.SCENE_SCREEN);
        }
    });

    recordings = new SelectBox<String>(ui.getSkin());

    String[] testFiles = EngineAssetManager.getInstance().listAssetFiles("/tests");
    ArrayList<String> al = new ArrayList<String>();

    for (String file : testFiles)
        if (file.endsWith(Recorder.RECORD_EXT))
            al.add(file.substring(0, file.indexOf(Recorder.RECORD_EXT)));

    FileHandle[] testFiles2 = EngineAssetManager.getInstance().getUserFolder().list();

    for (FileHandle file : testFiles2)
        if (file.name().endsWith(Recorder.RECORD_EXT))
            al.add(file.name().substring(0, file.name().indexOf(Recorder.RECORD_EXT)));

    recordings.setItems(al.toArray(new String[al.size()]));

    play.pad(2, 3, 2, 3);
    rec.pad(2, 3, 2, 3);

    recFilename = new TextField(r.getFileName(), ui.getSkin());

    HorizontalGroup rGroup = new HorizontalGroup();
    rGroup.space(10);
    rGroup.addActor(recordings);
    rGroup.addActor(play);
    rGroup.addActor(new Label("Rec. Filename", ui.getSkin(), "debug"));
    rGroup.addActor(recFilename);
    rGroup.addActor(rec);

    table.row().pad(5).align(Align.left);
    table.add(new Label("Game Recording: ", ui.getSkin(), "debug"));
    table.add(rGroup);

    // ------------- SCENES
    TextButton go = new TextButton("Go", ui.getSkin());
    go.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            World.getInstance().resume();
            World.getInstance().setCutMode(false);
            World.getInstance().setCurrentScene(scenes.getSelected());
            ui.setCurrentScreen(Screens.SCENE_SCREEN);
        }
    });

    go.pad(2, 3, 2, 3);

    scenes = new SelectBox<String>(ui.getSkin());
    scenes.setItems(World.getInstance().getScenes().keySet()
            .toArray(new String[World.getInstance().getScenes().size()]));

    HorizontalGroup scGroup = new HorizontalGroup();
    scGroup.space(10);
    scGroup.addActor(scenes);
    scGroup.addActor(go);

    table.row().pad(5).align(Align.left);
    table.add(new Label("Go to Scene: ", ui.getSkin(), "debug"));
    table.add(scGroup);

    // ------------- TESTERBOT
    final TesterBot bot = ui.getTesterBot();

    TextButton runBot = new TextButton(bot.isEnabled() ? "Stop" : "Run", ui.getSkin());
    runBot.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final TesterBot bot = ui.getTesterBot();

            bot.setMaxWaitInverval(Float.parseFloat(testerTimeConf.getText()));
            bot.setInSceneTime(Float.parseFloat(inSceneTimeConf.getText()));
            bot.setExcludeList(testerExcludeList.getText());
            bot.setEnabled(!bot.isEnabled());

            ui.setCurrentScreen(Screens.SCENE_SCREEN);
        }
    });

    runBot.pad(2, 3, 2, 3);

    testerTimeConf = new TextField(Float.toString(bot.getMaxWaitInverval()), ui.getSkin());
    inSceneTimeConf = new TextField(Float.toString(bot.getInSceneTime()), ui.getSkin());
    testerExcludeList = new TextField(bot.getExcludeList(), ui.getSkin());

    TextButton testerLeaveConf = new TextButton("Leave", ui.getSkin(), "toggle");
    testerLeaveConf.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final TesterBot bot = ui.getTesterBot();

            bot.setRunLeaveVerbs(!bot.isRunLeaveVerbs());
        }
    });

    testerLeaveConf.setChecked(bot.isRunLeaveVerbs());

    TextButton testerGotoConf = new TextButton("Goto", ui.getSkin(), "toggle");
    testerGotoConf.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final TesterBot bot = ui.getTesterBot();

            bot.setRunGoto(!bot.isRunGoto());
        }
    });

    testerGotoConf.setChecked(bot.isRunGoto());

    TextButton testerPassText = new TextButton("Pass Texts", ui.getSkin(), "toggle");
    testerPassText.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final TesterBot bot = ui.getTesterBot();

            bot.setPassTexts(!bot.isPassTexts());
        }
    });

    testerPassText.setChecked(bot.isPassTexts());

    TextButton testerWaitWhenWalking = new TextButton("Wait When Walking", ui.getSkin(), "toggle");
    testerWaitWhenWalking.addListener(new ClickListener() {

        public void clicked(InputEvent event, float x, float y) {
            final TesterBot bot = ui.getTesterBot();

            bot.setWaitWhenWalking(!bot.isWaitWhenWalking());
        }
    });

    testerWaitWhenWalking.setChecked(bot.isWaitWhenWalking());

    HorizontalGroup botGroup = new HorizontalGroup();
    botGroup.space(10);

    botGroup.addActor(testerLeaveConf);
    botGroup.addActor(testerGotoConf);
    botGroup.addActor(testerPassText);
    botGroup.addActor(testerWaitWhenWalking);

    HorizontalGroup botGroup2 = new HorizontalGroup();
    botGroup2.space(10);

    botGroup2.addActor(new Label("Excl. List: ", ui.getSkin(), "debug"));
    botGroup2.addActor(testerExcludeList);
    botGroup2.addActor(new Label("Interval: ", ui.getSkin(), "debug"));
    botGroup2.addActor(testerTimeConf);
    botGroup2.addActor(new Label("Scn Time: ", ui.getSkin(), "debug"));
    botGroup2.addActor(inSceneTimeConf);
    botGroup2.addActor(runBot);

    table.row().pad(5).align(Align.left);
    table.add(new Label("Tester Bot: ", ui.getSkin(), "debug"));
    table.add(botGroup);
    table.row().pad(5).align(Align.left);
    table.add();
    table.add(botGroup2);

    // ------------- VERSION LABEL NOT IN TABLE
    String versionString = Config.getProperty(Config.TITLE_PROP, "title unspecified") + " v"
            + Config.getProperty(Config.VERSION_PROP, "unspecified") + "\n" + "Blade Engine: v"
            + Config.getProperty("bladeEngineVersion", "unspecified") + "\n" + "libGdx: v"
            + Config.getProperty("gdxVersion", "unspecified") + "\n" + "RoboVM: v"
            + Config.getProperty("roboVMVersion", "unspecified") + "\n";
    //             + "Gdx.app.getVersion: " + Gdx.app.getVersion();

    Label version = new Label(versionString, ui.getSkin(), "debug");
    version.setColor(Color.LIGHT_GRAY);
    Table versionStack = new Table();
    versionStack.defaults().pad(DPIUtils.getSpacing());
    versionStack.pad(0);
    versionStack.add(version);
    versionStack.bottom().left();
    versionStack.setFillParent(true);
    versionStack.pack();
    table.row();
    table.add(versionStack).colspan(3).left();

    table.pack();

    ScrollPane scrollPane = new ScrollPane(table);
    scrollPane.setFillParent(true);
    stage.addActor(scrollPane);

    pointer = new Pointer(ui.getSkin());
    stage.addActor(pointer);

    Gdx.input.setInputProcessor(stage);
}

From source file:com.bladecoder.engine.ui.LoadSaveScreen.java

License:Apache License

@Override
public void show() {
    float size = DPIUtils.getPrefButtonSize();
    float pad = DPIUtils.getMarginSize();
    final Skin skin = ui.getSkin();
    final World world = World.getInstance();

    // loadScreenMode = ui.getScreen(Screens.LOAD_GAME_SCREEN) == this;
    loadScreenMode = world.getCurrentScene() == null;

    stage = new Stage(new ScreenViewport());

    slotWidth = (int) (stage.getViewport().getWorldWidth() / (ROW_SLOTS + 1) - 2 * pad);
    slotHeight = (int) (slotWidth * stage.getViewport().getScreenHeight()
            / stage.getViewport().getScreenWidth());

    LoadSaveScreenStyle style = skin.get(LoadSaveScreenStyle.class);

    Drawable bg = style.background;/*w  w w.j  a  v  a 2 s . co m*/

    if (bg == null && style.bgFile != null) {
        bgTexFile = new Texture(EngineAssetManager.getInstance().getResAsset(style.bgFile));
        bgTexFile.setFilter(TextureFilter.Linear, TextureFilter.Linear);

        bg = new TextureRegionDrawable(new TextureRegion(bgTexFile));
    }

    Table table = new Table(skin);
    table.setFillParent(true);
    table.center();
    table.pad(pad);

    Label title = new Label(loadScreenMode ? I18N.getString("ui.load") : I18N.getString("ui.save"), skin,
            "title");

    Button back = new Button(skin, "back");

    back.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            ui.setCurrentScreen(Screens.MENU_SCREEN);
        }
    });

    Table header = new Table();
    // header.padBottom(pad);
    Container<Button> cont = new Container<Button>(back);
    cont.size(size);
    header.add(cont);
    header.add(title).fillX().expandX().left();
    table.add(header).fillX().expandX().left();

    if (bg != null)
        table.setBackground(bg);

    table.addListener(new InputListener() {
        @Override
        public boolean keyUp(InputEvent event, int keycode) {
            if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK)
                if (world.getCurrentScene() != null)
                    ui.setCurrentScreen(Screens.SCENE_SCREEN);

            return true;
        }
    });

    final PagedScrollPane scroll = new PagedScrollPane();
    scroll.setFlingTime(0.1f);
    scroll.setPageSpacing(25);

    Table slots = new Table().pad(pad);
    slots.defaults().pad(pad).size(slotWidth + pad, slotHeight + pad * 2).top();
    int c = 0;

    // Add "new slot" slot for save screen
    if (!loadScreenMode) {
        slots.add(getSlotButton(Long.toString(new Date().getTime()))).fill().expand();
        c++;
    }

    final List<String> sl = getSlots();

    Collections.sort(sl);

    for (int j = sl.size() - 1; j >= 0; j--) {

        String s = sl.get(j);

        if (c % ROW_SLOTS == 0 && c % (ROW_SLOTS * COL_SLOTS) != 0)
            slots.row();

        if (c != 0 && c % (ROW_SLOTS * COL_SLOTS) == 0) {
            scroll.addPage(slots);
            slots = new Table().pad(pad);
            slots.defaults().pad(pad).size(slotWidth + pad, slotHeight + pad * 2).top();
        }

        Button removeButton = new Button(skin, "delete_game");
        removeButton.setName(s);
        removeButton.addListener(removeClickListener);

        Container<Button> container = new Container<Button>(removeButton);
        container.size(DPIUtils.getPrefButtonSize() * .75f);
        container.align(Align.topRight);

        slots.stack(getSlotButton(s), container).fill().expand();

        c++;
    }

    // Add last page
    if (slots.getCells().size > 0)
        scroll.addPage(slots);

    table.row();

    if (loadScreenMode && sl.size() == 0) {
        Label lbl = new Label(I18N.getString("ui.noSavedGames"), skin, "title");
        lbl.setAlignment(Align.center);
        table.add(lbl).expand().fill();
    } else {
        table.add(scroll).expand().fill();
    }

    table.pack();

    stage.setKeyboardFocus(table);
    stage.addActor(table);

    pointer = new Pointer(ui.getSkin());
    stage.addActor(pointer);

    Gdx.input.setInputProcessor(stage);
}

From source file:com.bladecoder.engineeditor.ui.AssetsList.java

License:Apache License

public AssetsList(Skin skin) {
    super(skin);//from w  w  w .  j  a  v  a 2  s.c o m

    assetTypes = new SelectBox<String>(skin);
    assetTypes.setItems(ASSET_TYPES);

    this.skin = skin;

    list = new CustomList<String>(skin);

    Array<String> items = new Array<String>();
    list.setItems(items);

    ScrollPane scrollPane = new ScrollPane(list, skin);
    container = new Container<ScrollPane>(scrollPane);
    container.fill();
    container.prefHeight(1000);

    toolbar = new EditToolbar(skin);
    //      debug();
    add(assetTypes).expandX().fillX();
    row();
    add(toolbar).expandX().fillX();
    row();
    add(container).expand().fill();

    toolbar.addCreateListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            create();
        }
    });

    toolbar.addEditListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            edit();
        }
    });

    toolbar.addDeleteListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            delete();
        }
    });

    list.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            toolbar.disableEdit(false);
        }
    });

    Ctx.project.addPropertyChangeListener(Project.NOTIFY_PROJECT_LOADED, new PropertyChangeListener() {
        @Override
        public void propertyChange(PropertyChangeEvent arg0) {
            toolbar.disableCreate(Ctx.project.getProjectDir() == null);
            addAssets();
        }
    });

    assetTypes.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            addAssets();
        }
    });
}

From source file:com.bladecoder.engineeditor.ui.components.EditList.java

License:Apache License

public EditList(Skin skin) {
    super(skin);/*from w  ww.j a v a 2s  .  com*/

    this.skin = skin;

    list = new CustomList<T>(skin);

    Array<T> items = new Array<T>();
    list.setItems(items);

    ScrollPane scrollPane = new ScrollPane(list, skin);
    container = new Container<ScrollPane>(scrollPane);
    container.fill();
    container.prefHeight(1000);

    toolbar = new EditToolbar(skin);
    //      debug();
    add(toolbar).expandX().fillX();
    row();
    add(container).expand().fill();

    toolbar.addCreateListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            create();
        }
    });

    toolbar.addEditListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            edit();
        }
    });

    toolbar.addDeleteListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            delete();
        }
    });

    toolbar.addCopyListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            copy();
        }
    });

    toolbar.addPasteListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            paste();
        }
    });

    list.addListener(new InputListener() {
        @Override
        public void enter(InputEvent event, float x, float y, int pointer,
                com.badlogic.gdx.scenes.scene2d.Actor fromActor) {
            //            EditorLogger.debug("ENTER - X: " + x + " Y: " + y);
            getStage().setScrollFocus(list);
        }
    });
}

From source file:com.bladecoder.engineeditor.ui.components.EditTree.java

License:Apache License

public EditTree(Skin skin) {
    super(skin);/*w  w w . j  a v a 2s. co  m*/

    this.skin = skin;
    upBtn = new ImageButton(skin);
    downBtn = new ImageButton(skin);
    leftBtn = new ImageButton(skin);
    rightBtn = new ImageButton(skin);

    tree = new Tree(skin);

    ScrollPane scrollPane = new ScrollPane(tree, skin);
    container = new Container<ScrollPane>(scrollPane);
    container.fill();
    container.prefHeight(1000);

    toolbar = new EditToolbar(skin);
    //      debug();
    add(toolbar).expandX().fillX();
    row().fill();
    add(container).expandY().fill();

    toolbar.addToolBarButton(upBtn, "ic_up", "Move up", "Move up");
    toolbar.addToolBarButton(downBtn, "ic_down", "Move down", "Move down");
    toolbar.addToolBarButton(leftBtn, "ic_left", "Child", "Move to child option");
    toolbar.addToolBarButton(rightBtn, "ic_right", "Parent", "Move to parent option");
    toolbar.addCreateListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            create();
        }
    });

    toolbar.addEditListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            edit();
        }
    });

    toolbar.addDeleteListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            delete();
        }
    });

    toolbar.addCopyListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            copy();
        }
    });

    toolbar.addPasteListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            paste();
        }
    });

    upBtn.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            upNode();
        }
    });

    downBtn.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            downNode();
        }
    });

    leftBtn.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            leftNode();
        }
    });

    rightBtn.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            rightNode();
        }
    });

    tree.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            Selection<Node> selection = tree.getSelection();

            if (selection.isEmpty()) {
                upBtn.setDisabled(true);
                downBtn.setDisabled(true);

                leftBtn.setDisabled(true);
                rightBtn.setDisabled(true);
            } else {

                Node nodeSel = selection.first();

                int level = nodeSel.getLevel();
                Array<Node> siblings = getSiblings();

                upBtn.setDisabled(siblings.get(0) == nodeSel);
                downBtn.setDisabled(siblings.get(siblings.size - 1) == nodeSel);

                leftBtn.setDisabled(level == 1);
                rightBtn.setDisabled(siblings.get(0) == nodeSel);
            }

            toolbar.disableEdit(selection == null);
        }

    });
}

From source file:com.bladecoder.engineeditor.ui.EditSceneDialog.java

License:Apache License

@SuppressWarnings("unchecked")
public EditSceneDialog(Skin skin, World parent, Scene e) {

    super(skin);/*from ww w  . j av a 2s .  c o  m*/

    id = InputPanelFactory.createInputPanel(skin, "Scene ID",
            "The ID is mandatory for scenes. \nIDs can not contain '.' or '_' characters.", true);
    backgroundAtlas = InputPanelFactory.createInputPanel(skin, "Background Atlas",
            "The atlas where the background for the scene is located", atlasList, false);
    backgroundRegion = InputPanelFactory.createInputPanel(skin, "Background Region Id",
            "The region id for the background.", new String[0], false);
    depthVector = InputPanelFactory.createInputPanel(skin, "Depth Vector",
            "X: the actor 'y' position for a 0.0 scale, Y: the actor 'y' position for a 1.0 scale.",
            Param.Type.VECTOR2, false);
    state = InputPanelFactory.createInputPanel(skin, "State", "The initial state for the scene.", false);
    music = InputPanelFactory.createInputPanel(skin, "Music Filename", "The music for the scene", musicList,
            false);
    loopMusic = InputPanelFactory.createInputPanel(skin, "Loop Music", "If the music is playing in looping",
            Param.Type.BOOLEAN, false);
    initialMusicDelay = InputPanelFactory.createInputPanel(skin, "Initial music delay",
            "The time to wait before playing", Param.Type.FLOAT, true, "0");
    repeatMusicDelay = InputPanelFactory.createInputPanel(skin, "Repeat music delay",
            "The time to wait before repetitions", Param.Type.FLOAT, true, "0");

    sceneSize = InputPanelFactory.createInputPanel(skin, "Scene Dimension",
            "Sets the size of the scene. If empty, the background image size is used as the scene dimension.",
            Param.Type.DIMENSION, false);

    bgImage = new Image();
    bgImage.setScaling(Scaling.fit);
    infoContainer = new Container<Image>(bgImage);
    setInfo(INFO);

    ((SelectBox<String>) backgroundAtlas.getField()).addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            try {
                fillBGRegions(backgroundAtlas, backgroundRegion);
            } catch (Exception e) {
                Message.showMsg(getStage(), "Error loading regions from selected atlas", 4);
            }
        }
    });

    ((SelectBox<String>) backgroundRegion.getField()).addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            showBgImage(backgroundRegion.getText());
        }
    });

    try {
        fillBGRegions(backgroundAtlas, backgroundRegion);
    } catch (Exception e2) {
        EditorLogger.error("Error loading regions from selected atlas");
    }

    init(parent, e, new InputPanel[] { id, backgroundAtlas, backgroundRegion, depthVector, state, sceneSize,
            music, loopMusic, initialMusicDelay, repeatMusicDelay });
}

From source file:com.forerunnergames.peril.client.ui.screens.menus.MenuScreenWidgetFactory.java

License:Open Source License

public ImageTextButton createMenuChoice(final String choiceText, final EventListener listener) {
    Arguments.checkIsNotNullOrEmptyOrBlank(choiceText, "choiceText");
    Arguments.checkIsNotNull(listener, "listener");

    final ImageTextButton menuChoiceButton = new ImageTextButton(choiceText, createMenuChoiceStyle());

    final Stack singlePlayerButtonStack = new Stack();
    singlePlayerButtonStack.add(new Container<>(menuChoiceButton.getLabel()).left().padLeft(60));
    singlePlayerButtonStack.add(menuChoiceButton.getImage());
    menuChoiceButton.clearChildren();//  ww w  .j  a va2 s. com
    menuChoiceButton.add(singlePlayerButtonStack).fill().expand();
    menuChoiceButton.addListener(listener);

    return menuChoiceButton;
}

From source file:com.gdx.extension.ui.Console.java

License:Apache License

/**
 * Create a console with specified style.
 * //from  ww  w. ja v a  2 s  . com
 * @param maxEntries the max lines to display in the console
 * @param style the style to use
 */
public Console(int maxEntries, ConsoleStyle style) {
    this.maxEntries = maxEntries;
    this.style = style;

    commandsHistory = new Array<String>();
    commands = new ObjectMap<String, Command>();

    body = new VerticalGroup();
    body.left();

    consoleContainer = new Container<VerticalGroup>(body);
    consoleContainer.setBackground(style.consoleBackground);
    consoleContainer.left().top();
    consoleContainer.pad(10f);
    consoleScroll = new ScrollPane(consoleContainer);
    consoleScroll.setScrollingDisabled(true, false);
    consoleScroll.setFlickScroll(false);

    textfield = new TextField("", style.textfieldStyle);
    textfield.addCaptureListener(new InputListener() {

        @Override
        public boolean keyDown(InputEvent event, int keycode) {
            switch (keycode) {
            case Keys.ENTER:
                String _inputs = textfield.getText();
                if (_inputs.length() > 0) {
                    textfield.setText("");
                    String[] _split = _inputs.split(" ");
                    if (_split.length == 0) {
                        break;
                    }

                    if (commandsHistory.size == 0 || !(commandsHistory.peek().equals(_inputs))) {
                        commandsHistory.add(_inputs);
                    }
                    currentHistory = commandsHistory.size;

                    Command _commandAction = commands.get(_split[0]);
                    if (_commandAction == null) {
                        addEntry("Command " + _split[0] + " not found");
                    } else {
                        String[] _args = null;
                        if (_split.length > 1) {
                            _args = Arrays.copyOfRange(_split, 1, _split.length);
                        }
                        _commandAction.executeInternal(Console.this, _args);
                    }
                }

                break;

            case Keys.UP:
                if (currentHistory > 0) {
                    currentHistory--;
                    String _historyCmd = commandsHistory.get(currentHistory);
                    textfield.setText(_historyCmd);
                    textfield.setCursorPosition(_historyCmd.length());
                }

                break;

            case Keys.DOWN:
                if (currentHistory < commandsHistory.size - 1) {
                    currentHistory++;
                    String _historyCmd = commandsHistory.get(currentHistory);
                    textfield.setText(_historyCmd);
                    textfield.setCursorPosition(_historyCmd.length());
                }

                break;

            default:
                return false;
            }
            return true;
        }
    });

    add(consoleScroll).expand().fill().row();
    add(textfield).fillX();
}

From source file:com.vlaaad.dice.ui.windows.DieSettingsWindow.java

License:Open Source License

@Override
protected void doShow(final Params params) {
    Table content = new Table(Config.skin);
    content.setBackground("ui-store-window-background");
    content.defaults().pad(4);// w  ww.  j  ava2 s  .  c o  m
    content.setTouchable(Touchable.enabled);

    final LocLabel infoLabel = new LocLabel(
            "ui-renames-left", Thesaurus.params().with("count", String.valueOf(params.die.renames))
                    .with("free-renames", "free-renames." + Thesaurus.Util.countForm(params.die.renames)),
            StoreWindow.INACTIVE);
    infoLabel.setWrap(true);
    infoLabel.setAlignment(Align.center);

    final StringSpin nameSpin = new StringSpin(4, 10, Config.thesaurus.localize(params.die.nameLocKey()));
    Container inner = new Container(nameSpin);
    inner.padTop(3);
    final Container nameContainer = new Container(inner);
    nameContainer.setBackground(Config.skin.getDrawable("ui/button/name-change-background"));
    final Button changeNameButton = new Button(Config.skin);
    final Thesaurus thesaurus = Config.assetManager.get("names.yml", Thesaurus.class);
    final Array<ThesaurusData> values = thesaurus.values();
    final Item coin = Config.items.get("coin");
    updateChangeNameButton(changeNameButton, params);
    changeNameButton.addListener(new ChangeListener() {
        @SuppressWarnings("unchecked")
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            ObjectSet<ThesaurusData> existingNames = Pools.obtain(ObjectSet.class);
            for (Die die : params.userData.dice()) {
                existingNames.add(thesaurus.getData(die.name.toLowerCase()));
            }
            ThesaurusData newName = values.random();
            while (existingNames.contains(newName)) {
                newName = values.random();
            }
            existingNames.clear();
            Pools.free(existingNames);
            final ThesaurusData chosenName = newName;
            changeNameButton.setDisabled(true);
            nameSpin.setText(Config.thesaurus.localize(newName.key), new Runnable() {
                @Override
                public void run() {
                    params.die.name = chosenName.key;
                    if (params.die.renames > 0) {
                        params.die.renames -= 1;
                        infoLabel.setParams(Thesaurus.params().with("count", String.valueOf(params.die.renames))
                                .with("free-renames",
                                        "free-renames." + Thesaurus.Util.countForm(params.die.renames)));
                    } else {
                        params.userData.incrementItemCount(coin, -1);
                    }
                    updateChangeNameButton(changeNameButton, params);
                    fire(RefreshEvent.INSTANCE);
                }
            });
        }
    });

    content.add(new LocLabel("ui-select-die-name")).row();
    content.add(new Tile("ui-creature-info-line")).width(80).padTop(0).row();
    content.add(nameContainer).size(70, 21).row();
    content.add(changeNameButton).size(100, 21).padBottom(0).row();
    content.add(infoLabel).width(110).row();

    table.add(content);
}

From source file:com.vlaaad.dice.ui.windows.PotionsWindow.java

License:Open Source License

@Override
protected void initialize() {
    Table content = new Table(Config.skin);
    content.setBackground("ui-creature-info-background");
    content.setTouchable(Touchable.enabled);
    content.defaults().pad(2);//from w w  w .j a  v a  2s.  c om
    Array<Ability> potions = new Array<Ability>();
    for (Ability ability : Config.abilities.byType(Ability.Type.potion)) {
        potions.add(ability);
    }
    potions.sort(Ability.COST_COMPARATOR);

    potionsList = new Table();
    Image selection = new Image(Config.skin.getDrawable("selection/turn"));
    potionsList.addActor(selection);

    potionName = new LocLabel("");
    potionDescription = new LocLabel("");
    potionDescription.setAlignment(Align.center | Align.top);
    potionDescription.setWrap(true);

    ingredientsTable = new Table(Config.skin);
    ingredientsTable.defaults().pad(2);

    Table viewRow = new Table();
    potionsList.add(viewRow).row();
    viewRow.defaults().pad(2);
    int i = 0;
    ActorGestureListener l = null;
    for (Ability ability : potions) {
        AbilityIconCounter icon = new AbilityIconCounter(ability, 0);
        icon.image.setOrigin(icon.image.getWidth() / 2, icon.image.getHeight() / 2);
        potionIcons.put(ability, icon);
        ActorGestureListener listener = createPotionTapListener(icon, ability, selection, potionsList,
                potionName, potionDescription, ingredientsTable);
        if (l == null) {
            l = listener;
        }
        iconListeners.put(ability, listener);
        icon.addListener(listener);
        i++;
        viewRow.add(icon);
        if (i % 5 == 0) {
            viewRow = new Table();
            viewRow.defaults().pad(2);
            potionsList.add(viewRow).row();
        }
    }

    craftingPane = new CraftingPane(3, potions);

    Table craftTable = new Table(Config.skin);
    craftTable.setBackground("ui-craft-content");
    craftTable.defaults().pad(4);
    craftTable.add(craftingPane).row();
    craftTable.add(ingredientsContainer).row();

    content.add(potionsList).row();
    content.add(new Tile("ui-creature-info-line")).size(80, 1).row();
    content.add(potionName).row();
    content.add(ingredientsTable).padTop(5).padBottom(1).row();
    content.add(potionDescription).size(130, 48).row();
    content.add(craftTable).expandX().fillX().pad(-2).row();

    Container contentContainer = new Container(content);
    contentContainer.width(content.getPrefWidth());
    scrollPane = new ScrollPane(contentContainer);
    scrollPane.setOverscroll(false, false);
    scrollPane.setCancelTouchFocus(false);
    table.add(scrollPane).width(contentContainer.getMaxWidth());

    if (l != null) {
        table.invalidate();
        table.validate();
        l.tap(null, 0, 0, 0, 0);
    }
}