package com.me.missingwords.actors;
/**
*
* Representa al di�logo de pausa del juego.
*
*/
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton.TextButtonStyle;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.me.missingwords.MissingWords;
import com.me.missingwords.MissingWords.Language;
public class PauseDialog extends Dialog {
private MissingWords missingWords;
private WindowStyle style;
public PauseDialog(MissingWords missingWords) {
super("", new WindowStyle(
new BitmapFont(Gdx.files.internal("fonts/listFont.fnt"), Gdx.files.internal("fonts/listFont.png"), false),
Color.WHITE, null));
this.missingWords = missingWords;
/* Creamos el estilo del di�logo */
style = new WindowStyle(new BitmapFont(Gdx.files.internal("fonts/listFont.fnt"), Gdx.files.internal("fonts/listFont.png"), false),
Color.WHITE, null);
/* Aplicamos un background al stage */
style.stageBackground = new TextureRegionDrawable(new TextureRegion(MissingWords.myManager.get("backgroundDialog.png", Texture.class)));
setStyle(style); // aplicamos el estilo
/* Creamos un bot�n dentro del di�logo */
if (missingWords.selectedLanguage == Language.english)
button("Resume", "resume", new TextButtonStyle(
new TextureRegionDrawable(
new TextureRegion(MissingWords.myManager.get("upButton.png", Texture.class))),
new TextureRegionDrawable(
new TextureRegion(MissingWords.myManager.get("downButton.png", Texture.class))),
null,
new BitmapFont(Gdx.files.internal("fonts/listFont.fnt"), Gdx.files.internal("fonts/listFont.png"), false)));
else
button("Res�mee", "resume", new TextButtonStyle(
new TextureRegionDrawable(
new TextureRegion(MissingWords.myManager.get("upButton.png", Texture.class))),
new TextureRegionDrawable(
new TextureRegion(MissingWords.myManager.get("downButton.png", Texture.class))),
null,
new BitmapFont(Gdx.files.internal("fonts/listFont.fnt"), Gdx.files.internal("fonts/listFont.png"), false)));
if (missingWords.selectedLanguage == Language.english)
button("Exit", "exit", new TextButtonStyle(
new TextureRegionDrawable(
new TextureRegion(MissingWords.myManager.get("upButton.png", Texture.class))),
new TextureRegionDrawable(
new TextureRegion(MissingWords.myManager.get("downButton.png", Texture.class))),
null,
new BitmapFont(Gdx.files.internal("fonts/listFont.fnt"), Gdx.files.internal("fonts/listFont.png"), false)));
else
button("Beenden", "exit", new TextButtonStyle(
new TextureRegionDrawable(
new TextureRegion(MissingWords.myManager.get("upButton.png", Texture.class))),
new TextureRegionDrawable(
new TextureRegion(MissingWords.myManager.get("downButton.png", Texture.class))),
null,
new BitmapFont(Gdx.files.internal("fonts/listFont.fnt"), Gdx.files.internal("fonts/listFont.png"), false)));
}
/* result(): M�todo que se ejecuta al pulsar el bot�n y cierra el di�logo */
@Override
public void result(Object object) {
super.result(object);
/* Reproducimos el efecto de sonido si est� activo */
missingWords.getSoundFX().getButton().play(missingWords.getSoundFX().getVolume());
if (object.equals("resume")) {
/* Mostramos las fichas */
missingWords.getGameScreen().getTileBox().getTileTable().setVisible(true);
/* Reanudamos el tiempo */
missingWords.getGameScreen().getTimeBar().start();
/* Si no es singleplayer y es el turno de la npc, reanudamos su temporizador */
if (!missingWords.isSinglePlayer())
if (missingWords.getGameScreen().getNpc().isMyTurn())
missingWords.getGameScreen().getNpc().getNpcTimer().start();
}
else {
/* Liberamos los recursos de las pantallas y eliminamos las mismas */
missingWords.GameScreen.dispose();
missingWords.MiniGameScreen.dispose();
missingWords.VictoryScreen.dispose();
/* Desactivamos el SINGLEPLAYER, si es aplicable */
if (missingWords.isSinglePlayer())
missingWords.setSinglePlayer(false);
missingWords.setScreen(missingWords.MenuScreen);
}
}
}