diff --git a/core/src/com/riiablo/screen/LoginScreen.java b/core/src/com/riiablo/screen/LoginScreen.java index 7a86a8a0..1565f7dc 100644 --- a/core/src/com/riiablo/screen/LoginScreen.java +++ b/core/src/com/riiablo/screen/LoginScreen.java @@ -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 diff --git a/core/src/com/riiablo/screen/MultiplayerScreen.java b/core/src/com/riiablo/screen/MultiplayerScreen.java index 8fb51a69..16e5944d 100644 --- a/core/src/com/riiablo/screen/MultiplayerScreen.java +++ b/core/src/com/riiablo/screen/MultiplayerScreen.java @@ -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 diff --git a/core/src/com/riiablo/screen/TCPIPScreen.java b/core/src/com/riiablo/screen/TCPIPScreen.java index 039ea824..7661aa4e 100644 --- a/core/src/com/riiablo/screen/TCPIPScreen.java +++ b/core/src/com/riiablo/screen/TCPIPScreen.java @@ -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);