Endgame menus done

This commit is contained in:
Rumps 2016-02-14 14:14:35 +00:00
parent b5fc10546d
commit bc2a200beb
5 changed files with 59 additions and 3 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 KiB

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View file

@ -101,6 +101,8 @@ public class Loading extends AbstractScreen {
app.assets.load("textures/leaderboardBackground.jpg", Texture.class); app.assets.load("textures/leaderboardBackground.jpg", Texture.class);
app.assets.load("textures/levelSelectBackground.jpg", Texture.class); app.assets.load("textures/levelSelectBackground.jpg", Texture.class);
app.assets.load("textures/pauseBackground.png", Texture.class); app.assets.load("textures/pauseBackground.png", Texture.class);
app.assets.load("textures/failureBackground.png", Texture.class);
app.assets.load("textures/successBackground.png", Texture.class);
app.assets.load("textures/pauseGlow.png", Texture.class); app.assets.load("textures/pauseGlow.png", Texture.class);
app.assets.load("textures/position0.png", Texture.class); app.assets.load("textures/position0.png", Texture.class);
app.assets.load("textures/position1.png", Texture.class); app.assets.load("textures/position1.png", Texture.class);

View file

@ -69,6 +69,12 @@ public class Play extends AbstractScreen {
private TextButton butContinue, butReset, butExit; private TextButton butContinue, butReset, butExit;
private Vector2 buttonSize; private Vector2 buttonSize;
// Endgame window
private boolean isEnd;
private boolean isSuccess;
private Window endgameWindow;
private TextButton butNext;
private Image failureBackground, successBackground;
private int levelNumber; private int levelNumber;
@ -91,6 +97,9 @@ public class Play extends AbstractScreen {
isPaused = false; isPaused = false;
buttonSize = new Vector2(50, 50); buttonSize = new Vector2(50, 50);
isEnd = false;
isSuccess = false;
} }
@Override @Override
@ -103,11 +112,12 @@ public class Play extends AbstractScreen {
initLevel(); initLevel();
initPauseWindow(); initPauseWindow();
initEndgameWindow(false);
} }
@Override @Override
public void update(float dt) { public void update(float dt) {
if(!isPaused) if(!isPaused && !isEnd)
{ {
world.step(dt, 6, 2); world.step(dt, 6, 2);
@ -127,6 +137,14 @@ public class Play extends AbstractScreen {
pauseGlow.setVisible(isPaused); pauseGlow.setVisible(isPaused);
} }
if(endgameWindow.isVisible() != isEnd)
{
initEndgameWindow(isSuccess);
endgameWindow.setVisible(isEnd);
endgameWindow.setVisible(isEnd);
}
stage.act(dt); stage.act(dt);
} }
@ -314,6 +332,40 @@ public class Play extends AbstractScreen {
stage.addActor(pauseWindow); stage.addActor(pauseWindow);
} }
private void initEndgameWindow(boolean success)
{
if (success) {
endgameWindow = new Window("Success", skin);
successBackground = new Image(app.assets.get("textures/successBackground.png", Texture.class));
endgameWindow.setBackground(successBackground.getDrawable());
butNext = new TextButton("Next", skin, "default");
butNext.setPosition((pauseWindow.getWidth() / 2) - buttonSize.x / 2, buttonSize.y + 240);
butNext.setSize(buttonSize.x, buttonSize.y);
butNext.addListener(new ClickListener() {
@Override
public void clicked (com.badlogic.gdx.scenes.scene2d.InputEvent event, float x, float y) {
app.sm.setPlayScreen(levelNumber+1);
}
});
endgameWindow.addActor(butNext);
} else {
endgameWindow = new Window("Failure", skin);
failureBackground = new Image(app.assets.get("textures/failureBackground.png", Texture.class));
endgameWindow.setBackground(failureBackground.getDrawable());
}
endgameWindow.getTitleLabel().setPosition(350, 500);
endgameWindow.setSize(700, 500);
endgameWindow.setPosition(280, 50);
endgameWindow.setVisible(false);
endgameWindow.addActor(butReset);
endgameWindow.addActor(butExit);
stage.addActor(pauseGlow);
stage.addActor(endgameWindow);
}
// Accessors // Accessors
// Mutators // Mutators
@ -340,7 +392,8 @@ public class Play extends AbstractScreen {
if(fa.getUserData().equals("PLAYER") && fb.getUserData().equals("PASSBOUNDARY") || if(fa.getUserData().equals("PLAYER") && fb.getUserData().equals("PASSBOUNDARY") ||
fb.getUserData().equals("PLAYER") && fa.getUserData().equals("PASSBOUNDARY")) fb.getUserData().equals("PLAYER") && fa.getUserData().equals("PASSBOUNDARY"))
{ {
isPaused = true; isEnd = true;
isSuccess = true;
return; return;
} }
@ -348,7 +401,8 @@ public class Play extends AbstractScreen {
if(fa.getUserData().equals("PLAYER") && fb.getUserData().equals("FAILBOUNDARY") || if(fa.getUserData().equals("PLAYER") && fb.getUserData().equals("FAILBOUNDARY") ||
fb.getUserData().equals("PLAYER") && fa.getUserData().equals("FAILBOUNDARY")) fb.getUserData().equals("PLAYER") && fa.getUserData().equals("FAILBOUNDARY"))
{ {
isPaused = true; isEnd = true;
isSuccess = false;
return; return;
} }