evil-inside/src/ei/game/hud/InGameHud.java

85 lines
2.5 KiB
Java
Raw Normal View History

2007-04-23 16:26:39 +00:00
package ei.game.hud;
import ei.engine.LWJGLGameWindow;
import ei.engine.effects.BitmapText;
import ei.engine.effects.ProgressBar;
2007-04-23 16:26:39 +00:00
import ei.engine.math.Vector2f;
import ei.engine.math.Vector4f;
2007-04-23 16:26:39 +00:00
import ei.engine.scene.Node;
2007-04-23 19:33:27 +00:00
import ei.engine.scene.Sprite;
import ei.game.gamestate.InGameState;
2007-04-23 16:26:39 +00:00
import ei.game.player.Player;
/**
* This clas handles the hud of the game
* @author Ziver
*
*/
2007-04-23 16:26:39 +00:00
public class InGameHud {
private Node hudNode;
private BitmapText money;
private Player player;
private ProgressBar buildBar;
private InGameBuildHud buildHud;
private Sprite buildBack;
2007-04-23 16:26:39 +00:00
public InGameHud(Player p, InGameState inGameState){
2007-04-23 16:26:39 +00:00
player = p;
hudNode = new Node("Hud");
2007-04-23 19:33:27 +00:00
Sprite moneyBack = new Sprite("MoneyBackground","data/hud/money.png");
moneyBack.setLocation(new Vector2f(
LWJGLGameWindow.getWidth()-moneyBack.getSize().getX()/2,
moneyBack.getSize().getY()/2));
hudNode.add(moneyBack);
2007-04-23 16:26:39 +00:00
money = new BitmapText("MoneyMeter");
2007-04-23 19:33:27 +00:00
money.setLocation(new Vector2f(LWJGLGameWindow.getWidth()-money.getBound().width,5));
2007-04-23 16:26:39 +00:00
hudNode.add(money);
buildBack = new Sprite("BuildBackground","data/hud/buildmenu.png");
buildBack.setLocation(new Vector2f(
LWJGLGameWindow.getWidth()/2,
LWJGLGameWindow.getHeight()-buildBack.getSize().getY()/2));
hudNode.add(buildBack);
buildBar = new ProgressBar("BuildProgressBar",350,5,100);
buildBar.setBarColor(new Vector4f(0.41f, 0.41f, 0.41f, 1f));
buildBar.setValueColor(100, new Vector4f(0.21f, 0.7f, 0.44f, 1f));
buildBar.getNode().setLocation(new Vector2f(
LWJGLGameWindow.getWidth()/2+50,
LWJGLGameWindow.getHeight()-55));
hudNode.add(buildBar.getNode());
buildHud = new InGameBuildHud((int)(buildBack.getLocation().getX()-buildBack.getSize().getX()/4),
(int)(buildBack.getLocation().getY()+10),player, inGameState);
hudNode.add(buildHud.getNode());
2007-04-23 16:26:39 +00:00
}
public void update(){
money.setText(""+player.getKredits());
2007-04-23 19:33:27 +00:00
money.setLocation(new Vector2f(LWJGLGameWindow.getWidth()-money.getBound().width,5));
2007-04-23 16:26:39 +00:00
buildBar.setValue(player.getCC().getBuildProgress());
buildHud.update();
2007-04-23 16:26:39 +00:00
hudNode.setLocation(new Vector2f(
LWJGLGameWindow.getCamera().getLocation().getX(),
LWJGLGameWindow.getCamera().getLocation().getY()));
}
public Node getNode(){
return hudNode;
}
public InGameBuildHud getBuildHud(){
return buildHud;
}
public Sprite getBuildBar(){
return buildBack;
}
2007-04-23 16:26:39 +00:00
}