package com.me.missingwords.actors;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.me.missingwords.MissingWords;
import com.me.missingwords.MissingWords.Language;
/**
*
* Indica el turno que se est� jugando en ese momento.
*
*/
public class Turn extends Actor {
private final int POSITION_Y = 425;
private final int TEXTURE_PADDING = 8;
private BitmapFont font; // Fuente para el turno
private int numTurn; // N�mero del turno
private TextureRegion turnTexture;// Textura del cuadro de turno
private MissingWords missingWords;
public Turn(int numTurn, MissingWords missingWords) {
this.numTurn = numTurn;
this.missingWords = missingWords;
font = new BitmapFont(
Gdx.files.internal("fonts/myfont.fnt"), Gdx.files.internal("fonts/myfont.png"), false);
turnTexture = new TextureRegion(
MissingWords.myManager.get("upButtonLarge.png", Texture.class));
}
@Override
public void draw(Batch batch, float parentAlpha) {
batch.draw(turnTexture, (MissingWords.VIEWPORT_WIDTH - turnTexture.getRegionWidth()) / 2, POSITION_Y);
font.setColor(Color.MAROON);
if (missingWords.selectedLanguage == Language.english)
font.draw(batch, "Turn " + numTurn, calculatePosition("Turn ").x , calculatePosition("Turn ").y);
else
font.draw(batch, "Spielrunde " + numTurn, calculatePosition("Spielrunde ").x , calculatePosition("Spielrunde ").y);
}
/* calculatePosition(): calcula la posici�n de la fuente del turno */
private Vector2 calculatePosition(String turn) {
Vector2 pos = new Vector2();
pos.x = ((MissingWords.VIEWPORT_WIDTH - turnTexture.getRegionWidth()) / 2) +
((turnTexture.getRegionWidth() - font.getBounds(turn + numTurn).width) / 2);
pos.y = POSITION_Y + ((TEXTURE_PADDING + turnTexture.getRegionHeight() +
font.getBounds(turn + numTurn).height) / 2);
return pos;
}
public void nextTurn() {
numTurn += 1;
}
/* -------------- Getters and Setters -------------- */
public int getNumTurn() {
return numTurn;
}
public void setNumTurn(int numTurn) {
this.numTurn = numTurn;
}
}