package com.alastar.game.gui.constructed; import ru.alastar.main.net.requests.CreateCharacterRequest; 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.ui.TextField; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; public class CharacterCreateGUI extends BaseConstructed { public Table table; private int id = 0; public CharacterCreateGUI(Stage s, String name) { super(s, name); final float bsw = (float)Vars.getDouble("balancedScreenWidth"); Label nickLabel = new Label(GameManager.getLocalizedMessage("Name") + ":", GameManager.labelStyle); final TextField nickText = new TextField("Alastar", GameManager.txtFieldStyle); nickText.setWidth(175 / bsw); final Label raceLabel1 = new Label( com.alastar.game.enums.EntityType.values()[0].name(), GameManager.labelStyle); final TextButton btnRP = new TextButton("<", GameManager.txtBtnStyle); final TextButton btnRN = new TextButton(">", GameManager.txtBtnStyle); final TextButton btnCreate = new TextButton( GameManager.getLocalizedMessage("Confirm"), GameManager.txtBtnStyle); btnCreate.setWidth(175 / bsw); btnCreate.padLeft(15); btnCreate.padRight(15); btnCreate.padTop(10); btnCreate.padBottom(10); final TextButton btnBack = new TextButton( GameManager.getLocalizedMessage("Back"), GameManager.txtBtnStyle); btnBack.setWidth(175 / bsw); btnBack.padLeft(15); btnBack.padRight(15); btnBack.padTop(10); btnBack.padBottom(10); table = new Table(); table.setFillParent(true); table.add(nickLabel); table.row(); table.add(nickText); table.row(); table.add(btnRP); table.add(raceLabel1); table.add(btnRN); table.row(); table.add(btnCreate); table.row(); table.add(btnBack); btnRP.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if ((id - 1) < 1) id = com.alastar.game.enums.EntityType.values().length; else --id; raceLabel1.setText((com.alastar.game.enums.EntityType.values()[id - 1]) .name()); } }); btnRN.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if ((id + 1) > com.alastar.game.enums.EntityType.values().length) id = 1; else ++id; raceLabel1.setText((com.alastar.game.enums.EntityType.values()[id - 1]) .name()); } }); btnBack.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { GUICore.getConstructedByName("choose").Show(); Hide(); } }); btnCreate.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { CreateCharacterRequest r = new CreateCharacterRequest(); r.nick = nickText.getText().toString(); r.type = com.alastar.game.enums.EntityType.valueOf(raceLabel1 .getText().toString()); Client.Send(r); id = 0; GUICore.getConstructedByName("choose").Show(); Hide(); } }); this.register(table); } @Override public void Hide() { table.setVisible(false); } @Override public void Show() { table.setVisible(true); } }