package com.igorcrevar.goingunder.objects;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.igorcrevar.goingunder.GameData;
import com.igorcrevar.goingunder.GameManager;
import com.igorcrevar.goingunder.IActivityRequestHandler;
import com.igorcrevar.goingunder.ISceneManager;
import com.igorcrevar.goingunder.utils.GameHelper;
public class EndGameButtons {
// buttons
private GameButton[] buttons;
private final GameManager gameManager;
public EndGameButtons(final ISceneManager sceneManager,
final IActivityRequestHandler activityRequestHandler,
final GameManager gameManager) {
this.gameManager = gameManager;
buttons = new GameButton[3];
float buttonsY = 500;
addButton(new GameButton(getTextureRegion("intro"), 90, buttonsY, 240, 240) {
@Override
protected void onClick() {
sceneManager.setScene(ISceneManager.IntroScene);
}
});
addButton(new GameButton(getTextureRegion("playagain"), 750, buttonsY, 240, 240) {
@Override
protected void onClick() {
sceneManager.startGame();
}
});
addButton(new GameButton(getTextureRegion("share"), 420, buttonsY, 240, 240) {
@Override
protected void onClick() {
activityRequestHandler.share(gameManager.getCurrentScore());
}
});
}
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(GameData gameData, float x, float y) {
x = GameHelper.screenX2OtherX(x, 1080);
y = GameHelper.screenY2OtherY(y, 1920);
for (GameButton gb : buttons) {
if (gb.check(x, y)) {
break;
}
}
}
public void draw(SpriteBatch spriteBatch) {
spriteBatch.getProjectionMatrix().setToOrtho2D(0, 0, 1080, 1920);
spriteBatch.begin();
for (GameButton gb : buttons) {
gb.draw(spriteBatch);
}
spriteBatch.end();
}
private TextureRegion getTextureRegion(String name) {
TextureRegion tr = gameManager.getTextureAtlas("widgets").findRegion(name);
return tr;
}
}