package com.igorcrevar.rolloverchuck.objects;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.igorcrevar.rolloverchuck.GameManager;
import com.igorcrevar.rolloverchuck.ISceneManager;
import com.igorcrevar.rolloverchuck.ISceneManager.Type;
import com.igorcrevar.rolloverchuck.utils.GameHelper;
public class EndGameButtonsObject {
// buttons
private GameButton[] buttons;
public EndGameButtonsObject(final ISceneManager sceneManager, float buttonsY) {
buttons = new GameButton[3];
float size = 240f;
float margin = (1920 - size * 3.0f - size) / 2.0f;
addButton(new GameButton(getTextureRegion("intro", sceneManager.getGameManager()), margin, buttonsY, size, size) {
@Override
protected void onClick() {
sceneManager.setScene(Type.IntroScene);
}
});
addButton(new GameButton(getTextureRegion("highscore", sceneManager.getGameManager()), margin + size * 1.5f, buttonsY, size, size) {
@Override
protected void onClick() {
sceneManager.getRequestHandler().showLeaderboard(sceneManager.getCurrentGameType());
}
});
addButton(new GameButton(getTextureRegion("playagain", sceneManager.getGameManager()), margin + size * 3f, buttonsY, size, size) {
@Override
protected void onClick() {
sceneManager.startGame();
}
});
}
private GameButton addButton(GameButton gb) {
for (int i = 0; i < buttons.length; ++i) {
if (buttons[i] == null) {
buttons[i] = gb;
break;
}
}
return gb;
}
public void check(float x, float y) {
x = GameHelper.screenX2OtherX(x, 1920);
y = GameHelper.screenY2OtherY(y, 1080);
for (GameButton gb : buttons) {
if (gb.check(x, y)) {
break;
}
}
}
public void draw(SpriteBatch spriteBatch) {
for (GameButton gb : buttons) {
gb.draw(spriteBatch);
}
}
private TextureRegion getTextureRegion(String name, GameManager gameManager) {
TextureRegion tr = gameManager.getTextureAtlas("widgets").findRegion(name);
return tr;
}
}