Updated UI practices and alignment to other screens -- fixed LoginScreen to use the extended viewport

This commit is contained in:
Collin Smith 2019-11-26 00:16:43 -08:00
parent 085e43d92e
commit f2ae483e4b
3 changed files with 84 additions and 57 deletions

View File

@ -60,18 +60,9 @@ public class LoginScreen extends ScreenAdapter {
public LoginScreen(Animation D2logoLeft, Animation D2logoRight) {
this.D2logoLeft = D2logoLeft;
this.D2logoRight = D2logoRight;
Riiablo.assets.load(TitleScreenDescriptor);
Riiablo.assets.load(D2logoFireLeftDescriptor);
Riiablo.assets.load(D2logoFireRightDescriptor);
Riiablo.assets.load(D2logoBlackLeftDescriptor);
Riiablo.assets.load(D2logoBlackRightDescriptor);
Riiablo.assets.load(WideButtonBlankDescriptor);
Riiablo.assets.load(MediumButtonBlankDescriptor);
Riiablo.assets.load(buttonDescriptor);
Riiablo.assets.load(selectDescriptor);
Riiablo.assets.load(textbox2Descriptor);
load();
stage = new Stage(Riiablo.viewport, Riiablo.batch);
stage = new Stage(Riiablo.extendViewport, Riiablo.batch);
Riiablo.assets.finishLoadingAsset(TitleScreenDescriptor);
TitleScreen = Riiablo.assets.get(TitleScreenDescriptor).getTexture();
@ -159,26 +150,26 @@ public class LoginScreen extends ScreenAdapter {
cursor = new TextureRegionDrawable(Riiablo.textures.white);
}};
Table panel = new Table() {{
final Table panel = new Table() {{
final float SPACING = 8;
add(new Label(5205, Riiablo.fonts.font16, Riiablo.colors.white) {{
setWrap(true);
setAlignment(Align.center);
}}).width(400).space(8).row();
}}).width(400).space(SPACING).row();
add(new Table() {{
add(new Label(5224, Riiablo.fonts.font16, Riiablo.colors.gold)).align(Align.left).row();
add(new TextField(textFieldStyle)).row();
align(Align.left);
}}).space(8).row();
}}).space(SPACING).row();
add(new Table() {{
add(new Label(5225, Riiablo.fonts.font16, Riiablo.colors.gold)).align(Align.left).row();
add(new TextField(textFieldStyle)).row();
}}).space(8).row();
add(btnLogIn).space(8).row();
add(btnAccountSettings).space(8).row();
add(btnCreateNewAccount).space(8).row();
}}).space(SPACING).row();
add(btnLogIn).space(SPACING).row();
add(btnAccountSettings).space(SPACING).row();
add(btnCreateNewAccount).space(SPACING).row();
}};
panel.setX(stage.getWidth() / 2);
panel.setY(stage.getHeight() * 0.325f);
panel.setPosition(stage.getWidth() / 2, stage.getHeight() * 0.325f, Align.center);
stage.addActor(panel);
TextButton.TextButtonStyle mediumButtonStyle = new TextButton.TextButtonStyle() {{
@ -190,19 +181,34 @@ public class LoginScreen extends ScreenAdapter {
}};
btnCancel = new TextButton(5134, mediumButtonStyle);
btnCancel.addListener(clickListener);
btnCancel.setPosition(20, 20);
btnCancel.setPosition(20, 20, Align.bottomLeft);
stage.addActor(btnCancel);
}
@Override
public void show() {
Riiablo.viewport = Riiablo.extendViewport;
load();
Riiablo.input.addProcessor(stage);
}
@Override
public void hide() {
Riiablo.input.removeProcessor(stage);
dispose();
}
private void load() {
Riiablo.assets.load(TitleScreenDescriptor);
Riiablo.assets.load(D2logoFireLeftDescriptor);
Riiablo.assets.load(D2logoFireRightDescriptor);
Riiablo.assets.load(D2logoBlackLeftDescriptor);
Riiablo.assets.load(D2logoBlackRightDescriptor);
Riiablo.assets.load(WideButtonBlankDescriptor);
Riiablo.assets.load(MediumButtonBlankDescriptor);
Riiablo.assets.load(buttonDescriptor);
Riiablo.assets.load(selectDescriptor);
Riiablo.assets.load(textbox2Descriptor);
}
@Override

View File

@ -11,6 +11,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.Button;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.badlogic.gdx.utils.Align;
import com.riiablo.Riiablo;
import com.riiablo.codec.Animation;
import com.riiablo.codec.DC6;
@ -44,19 +45,16 @@ public class MultiplayerScreen extends ScreenAdapter {
private Button btnTCPIP;
private Button btnCancel;
public MultiplayerScreen() {
this(null, null);
}
public MultiplayerScreen(Animation D2logoLeft, Animation D2logoRight) {
this.D2logoLeft = D2logoLeft;
this.D2logoRight = D2logoRight;
Riiablo.assets.load(TitleScreenDescriptor);
Riiablo.assets.load(D2logoFireLeftDescriptor);
Riiablo.assets.load(D2logoFireRightDescriptor);
Riiablo.assets.load(D2logoBlackLeftDescriptor);
Riiablo.assets.load(D2logoBlackRightDescriptor);
Riiablo.assets.load(WideButtonBlankDescriptor);
Riiablo.assets.load(buttonDescriptor);
Riiablo.assets.load(selectDescriptor);
load();
stage = new Stage(Riiablo.viewport, Riiablo.batch);
stage = new Stage(Riiablo.defaultViewport, Riiablo.batch);
Riiablo.assets.finishLoadingAsset(TitleScreenDescriptor);
TitleScreen = Riiablo.assets.get(TitleScreenDescriptor).getTexture();
@ -113,25 +111,39 @@ public class MultiplayerScreen extends ScreenAdapter {
btnCancel = new TextButton(5134, style);
btnCancel.addListener(clickListener);
Table panel = new Table() {{
add(btnOpenBattlenet).space(8).row();
add(btnTCPIP).space(8).row();
add(btnCancel).space(8).row();
final Table panel = new Table() {{
final float SPACING = 8;
add(btnOpenBattlenet).space(SPACING).row();
add(btnTCPIP).space(SPACING).row();
add(btnCancel).space(SPACING).row();
pack();
}};
panel.setX(stage.getWidth() / 2);
panel.setY(stage.getHeight() * 0.40f);
panel.setPosition(stage.getWidth() / 2, D2logo.getY() / 2, Align.center);
stage.addActor(panel);
}
@Override
public void show() {
Riiablo.viewport = Riiablo.defaultViewport;
load();
Riiablo.input.addProcessor(stage);
}
@Override
public void hide() {
Riiablo.input.removeProcessor(stage);
dispose();
}
private void load() {
Riiablo.assets.load(TitleScreenDescriptor);
Riiablo.assets.load(D2logoFireLeftDescriptor);
Riiablo.assets.load(D2logoFireRightDescriptor);
Riiablo.assets.load(D2logoBlackLeftDescriptor);
Riiablo.assets.load(D2logoBlackRightDescriptor);
Riiablo.assets.load(WideButtonBlankDescriptor);
Riiablo.assets.load(buttonDescriptor);
Riiablo.assets.load(selectDescriptor);
}
@Override

View File

@ -61,17 +61,9 @@ public class TCPIPScreen extends ScreenAdapter {
public TCPIPScreen(Animation D2logoLeft, Animation D2logoRight) {
this.D2logoLeft = D2logoLeft;
this.D2logoRight = D2logoRight;
Riiablo.assets.load(TitleScreenDescriptor);
Riiablo.assets.load(D2logoFireLeftDescriptor);
Riiablo.assets.load(D2logoFireRightDescriptor);
Riiablo.assets.load(D2logoBlackLeftDescriptor);
Riiablo.assets.load(D2logoBlackRightDescriptor);
Riiablo.assets.load(WideButtonBlankDescriptor);
Riiablo.assets.load(MediumButtonBlankDescriptor);
Riiablo.assets.load(buttonDescriptor);
Riiablo.assets.load(selectDescriptor);
load();
stage = new Stage(Riiablo.viewport, Riiablo.batch);
stage = new Stage(Riiablo.defaultViewport, Riiablo.batch);
Riiablo.assets.finishLoadingAsset(TitleScreenDescriptor);
TitleScreen = Riiablo.assets.get(TitleScreenDescriptor).getTexture();
@ -113,8 +105,10 @@ public class TCPIPScreen extends ScreenAdapter {
public boolean mouseMoved(InputEvent event, float x, float y) {
if (btnHostGame.isOver()) {
lbDescription.setText(5122);
lbDescription.layout();
} else if (btnJoinGame.isOver()) {
lbDescription.setText(5123);
lbDescription.layout();
}
return super.mouseMoved(event, x, y);
@ -168,14 +162,15 @@ public class TCPIPScreen extends ScreenAdapter {
lbDescription.setWrap(true);
// TODO: Sizing could be cleaned up some
Table panel = new Table() {{
add(lbHostIP).space(8).row();
add(btnHostGame).space(8).row();
add(btnJoinGame).space(8).row();
add(lbDescription).space(8).minSize(400, 112).row();
final Table panel = new Table() {{
final float SPACING = 8;
add(lbHostIP).space(SPACING).row();
add(btnHostGame).space(SPACING).row();
add(btnJoinGame).space(SPACING).row();
add(lbDescription).space(SPACING).minSize(400, 112).row();
pack();
}};
panel.setX(stage.getWidth() / 2);
panel.setY(stage.getHeight() * 0.375f);
panel.setPosition(stage.getWidth() / 2, D2logo.getY() / 2, Align.center);
stage.addActor(panel);
TextButton.TextButtonStyle mediumButtonStyle = new TextButton.TextButtonStyle() {{
@ -187,21 +182,35 @@ public class TCPIPScreen extends ScreenAdapter {
}};
btnCancel = new TextButton(5134, mediumButtonStyle);
btnCancel.addListener(clickListener);
btnCancel.setPosition(20, 20);
btnCancel.setPosition(20, 20, Align.bottomLeft);
stage.addActor(btnCancel);
}
@Override
public void show() {
Riiablo.input.addProcessor(stage);
load();
}
@Override
public void hide() {
Riiablo.viewport = Riiablo.defaultViewport;
dispose();
Riiablo.input.removeProcessor(stage);
}
private void load() {
Riiablo.assets.load(TitleScreenDescriptor);
Riiablo.assets.load(D2logoFireLeftDescriptor);
Riiablo.assets.load(D2logoFireRightDescriptor);
Riiablo.assets.load(D2logoBlackLeftDescriptor);
Riiablo.assets.load(D2logoBlackRightDescriptor);
Riiablo.assets.load(WideButtonBlankDescriptor);
Riiablo.assets.load(MediumButtonBlankDescriptor);
Riiablo.assets.load(buttonDescriptor);
Riiablo.assets.load(selectDescriptor);
}
@Override
public void dispose() {
Riiablo.assets.unload(TitleScreenDescriptor.fileName);