package com.alastar.game.gui.constructed; import ru.alastar.main.net.requests.CharacterChooseRequest; import ru.alastar.net.Client; import com.alastar.game.GameManager; import com.alastar.game.Vars; import com.alastar.game.gui.GUICore; import com.badlogic.gdx.scenes.scene2d.Actor; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.ui.TextButton; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; public class CharacterChooseGUI extends BaseConstructed { public Table table; private int id = 0; public CharacterChooseGUI(Stage s, String name) { super(s, name); final float bsw = (float)Vars.getDouble("balancedScreenWidth"); String n = ""; final Label nameLabel1 = new Label(n, GameManager.labelStyle); final TextButton btnN = new TextButton(">", GameManager.txtBtnStyle); final TextButton btnP = new TextButton("<", GameManager.txtBtnStyle); final TextButton btnCh = new TextButton( GameManager.getLocalizedMessage("Choose"), GameManager.txtBtnStyle); btnCh.setWidth(175 / bsw); btnCh.padLeft(15); btnCh.padRight(15); btnCh.padTop(10); btnCh.padBottom(10); final TextButton btnCr = new TextButton( GameManager.getLocalizedMessage("Create"), GameManager.txtBtnStyle); btnCr.setWidth(175 / bsw); btnCr.padLeft(15); btnCr.padRight(15); btnCr.padTop(10); btnCr.padBottom(10); final TextButton btnDel = new TextButton( GameManager.getLocalizedMessage("Delete"), GameManager.txtBtnStyle); btnDel.setWidth(175 / bsw); btnDel.padLeft(5); btnDel.padRight(5); btnDel.padTop(5); btnDel.padBottom(5); table = new Table(); table.setFillParent(true); table.add(nameLabel1); table.row(); table.add(nameLabel1); table.row(); table.add(btnP); table.add(btnN); table.row(); table.add(btnCr); table.row(); table.add(btnCh); table.row(); table.add(btnDel); btnCh.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (Client.characters.size() > 0) { CharacterChooseRequest r = new CharacterChooseRequest(); r.nick = nameLabel1.getText().toString(); Client.Send(r); Hide(); } } }); btnP.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (Client.characters.size() > 0) { if ((id - 1) < 0) { id = Client.characters.size() - 1; } else { --id; } nameLabel1.setText((String) Client.characters.keySet() .toArray()[id]); } } }); btnN.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (Client.characters.size() > 0) { if ((id + 1) >= Client.characters.size()) { id = 0; } else { ++id; } nameLabel1.setText((String) Client.characters.keySet() .toArray()[id]); } } }); btnCr.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { GUICore.getConstructedByName("create").Show(); Hide(); } }); this.register(table); } @Override public void Hide() { table.setVisible(false); } @Override public void Show() { table.setVisible(true); } }