package ei.game.scene; import ei.engine.effects.ProgressBar; import ei.engine.math.Vector2f; import ei.engine.math.Vector4f; import ei.engine.scene.Box; import ei.engine.scene.Node; import ei.engine.texture.Texture; public class SelectBox { public static final int COLOR_GREEN = 0; public static final int COLOR_RED = 1; private static final float height = 3; private Node selectNode; private Node mouseOverNode; private ProgressBar bar; /** * Creates a selection box with health bar * * @param x The size of the selection box * @param y The size of the selection box * @param max The max health of the object */ public SelectBox(int color, float x, float y, int max){ selectNode = new Node("SelectionNode"); mouseOverNode = new Node("MouseOverNode"); Texture tex = new Texture(); if(color == COLOR_RED){ tex.setColor(new Vector4f(1.0f, 0.5f, 0.5f,1)); } else{ tex.setColor(new Vector4f(0.5f, 1.0f, 0.5f,1)); } bar = new ProgressBar("Health",x,height,max); bar.getNode().setLocation(new Vector2f(0,-x/2+height/2)); bar.setValueColor(25, new Vector4f(1.0f, 0f, 0f, 1f)); bar.setValueColor(50, new Vector4f(1.0f, .95f, 0, 1f)); bar.setValueColor(100, new Vector4f(0.3f, 1.0f, 0.3f, 1f)); selectNode.add(bar.getNode()); mouseOverNode.add(bar.getNode()); Box select = new Box("select",tex); select.setSize(new Vector2f(x,y)); selectNode.add(select); } /** * Returns the node of the selection * * @return The node of the selection */ public Node getSelectNode(){ return selectNode; } /** * Returns the node of the selection * * @return The node of the selection */ public Node getMouseOverNode(){ return mouseOverNode; } /** * Sets the value of the health bar * * @param v The value of the health bar */ public void setValue(int v){ bar.setValue(v); } }