Skip to content
Snippets Groups Projects

Resolve "Login screen setup (without backend)"

Merged Sander Østrem Fagernes requested to merge 19-login-screen-setup-without-backend into main
Compare and Show latest version
1 file
+ 25
33
Compare changes
  • Side-by-side
  • Inline
@@ -14,7 +14,9 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.TextField;
import com.badlogic.gdx.scenes.scene2d.ui.Value;
import com.badlogic.gdx.scenes.scene2d.utils.Drawable;
import com.badlogic.gdx.utils.Align;
import com.badlogic.gdx.utils.ScreenUtils;
import com.badlogic.gdx.utils.viewport.ExtendViewport;
import com.game.tankwars.ResourceManager;
@@ -31,9 +33,6 @@ public class LoginScreen implements Screen {
private final TankWarsGame tankWarsGame;
private Stage stage;
private Drawable backgroundPortrait;
private Drawable backgroundBlurred;
public LoginScreen(final TankWarsGame tankWarsGame) {
this.tankWarsGame = tankWarsGame;
}
@@ -47,46 +46,48 @@ public class LoginScreen implements Screen {
// TODO: Transition to ErrorScreen if skin == null
backgroundPortrait = skin.getDrawable("camo-background-portrait");
backgroundPortrait.setMinHeight(backgroundPortrait.getMinHeight() / backgroundPortrait.getMinWidth() * 2 * stage.getWidth() / 5f);
backgroundPortrait.setMinWidth(2 * stage.getWidth() / 5f);
backgroundBlurred = skin.getDrawable("camo-background-portrait-blurred");
backgroundBlurred.setMinHeight(backgroundPortrait.getMinHeight() / backgroundPortrait.getMinWidth() * (stage.getWidth() - backgroundPortrait.getMinWidth()));
backgroundBlurred.setMinWidth(stage.getWidth() - backgroundPortrait.getMinWidth());
Image backgroundPortrait = new Image(skin.getDrawable("camo-background-portrait"));
Drawable backgroundBlurred = skin.getDrawable("camo-background-portrait-blurred");
Image logo = new Image(skin.getDrawable("logo"));
Drawable headerBox = skin.getDrawable("dark-menu-header");
Label loginLabel = new Label("Log in", skin.get("header", Label.LabelStyle.class));
Label messageLabel = new Label("Choose a username", skin.get("default", Label.LabelStyle.class));
Label usernameLabel = new Label("Username", skin.get("default", Label.LabelStyle.class));
TextField usernameField = new TextField("",
skin.get("default", TextField.TextFieldStyle.class));
usernameField.setAlignment(0);
usernameField.setAlignment(Align.center);
TextButton loginButton = new TextButton("Log in",
skin.get("default", TextButton.TextButtonStyle.class));
//--- Layout
float lw = 2 * stage.getWidth() / 5f;
float rw = stage.getWidth() - lw;
Table rootTable = new Table();
rootTable.setBounds(backgroundPortrait.getMinWidth(), 0,
backgroundBlurred.getMinWidth(), stage.getHeight());
rootTable.top();
rootTable.setFillParent(true);
rootTable.center();
rootTable.add(backgroundPortrait).width(lw).
left().minHeight(stage.getHeight()).
height(backgroundPortrait.getHeight() / backgroundPortrait.getWidth() * lw);
Table rightTable = new Table();
rightTable.background(backgroundBlurred);
Table headerTable = new Table();
headerTable.background(headerBox);
headerTable.add(logo).expandX();
headerTable.add(loginLabel).expandX().left();
rootTable.add(headerTable).width(backgroundBlurred.getMinWidth()).height(2 * stage.getHeight() / 7f);
rootTable.row().expandY();
rootTable.add(messageLabel).padBottom(5);
rootTable.row().center().width(2 * backgroundBlurred.getMinWidth() / 3f);
rootTable.add(usernameLabel).bottom().padLeft(10);
rootTable.row().expandY();
rootTable.add(usernameField).width(2 * backgroundBlurred.getMinWidth() / 3f).height(42).top();
rootTable.row().expandY();
rootTable.add(loginButton).width(2 * backgroundBlurred.getMinWidth() / 3f).height(28).top();
rightTable.add(headerTable).fillX().height(stage.getHeight() / 4f);
rightTable.row().expand(1, 1);
rightTable.add(usernameLabel).width(2 * rw / 3f).bottom().padLeft(10);
rightTable.row().expand(1, 0);
rightTable.add(usernameField).width(2 * rw / 3f).height(42).top();
rightTable.row().expand(1, 4);
rightTable.add(loginButton).width(2 * rw / 3f).height(28);
rootTable.add(rightTable).expandX().height(stage.getHeight());
stage.addActor(rootTable);
new LoginController(tankWarsGame, loginButton, usernameField);
@@ -96,15 +97,6 @@ public class LoginScreen implements Screen {
public void render(float delta) {
ScreenUtils.clear(0, 0, 0, 1);
stage.getBatch().begin();
backgroundPortrait.draw(stage.getBatch(), 0,
(stage.getHeight() - backgroundPortrait.getMinHeight()) / 2f,
backgroundPortrait.getMinWidth(), backgroundPortrait.getMinHeight());
backgroundBlurred.draw(stage.getBatch(), backgroundPortrait.getMinWidth(),
(stage.getHeight() - backgroundBlurred.getMinHeight()) / 2f,
backgroundBlurred.getMinWidth(), backgroundBlurred.getMinHeight());
stage.getBatch().end();
stage.act(delta);
stage.draw();
}
Loading