package fi.hbp.angr.hud;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
import fi.hbp.angr.logic.GameState;
/**
* HudScoreCounter used to show current game score status.
*/
public class HudGameStateDisplay implements Hud.HudActor {
private BitmapFont font;
private final GameState gameState;
/**
* Constructor for HudScoreGameStateDisplay.
* @param gameState gameState object where from current score status can be
* polled.
*/
public HudGameStateDisplay(GameState gameState) {
this.gameState = gameState;
/* Load assets */
FileHandle fontFile = Gdx.files.internal("fonts/BistroBlock.ttf");
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fontFile);
font = generator.generateFont(45);
generator.dispose();
font.setColor(Color.WHITE);
font.setScale(1.0f);
}
@Override
public void draw(SpriteBatch batch) {
font.draw(batch, "Score: " + gameState.getScore(),
(float)Gdx.graphics.getWidth() - font.getSpaceWidth() * 15.0f,
(float)Gdx.graphics.getHeight() - 20.0f);
GameState.Grenades grenades = gameState.getGrenades();
font.draw(batch, "Grenades: " + grenades.getCount() + "/" + grenades.originalCount,
15.0f,
(float)Gdx.graphics.getHeight() - 20.0f);
}
}