Added mouse over
This commit is contained in:
parent
22965dbdd1
commit
c6ba0ea532
6 changed files with 129 additions and 87 deletions
|
|
@ -1,17 +1,14 @@
|
|||
package ei.game.scene;
|
||||
|
||||
import ei.engine.math.Vector2f;
|
||||
import ei.engine.math.Vector2i;
|
||||
import ei.engine.scene.Entity;
|
||||
|
||||
public abstract class GameEntity{
|
||||
private int max_life;
|
||||
private int life;
|
||||
private boolean selected;
|
||||
|
||||
public GameEntity(int l){
|
||||
setLife(l);
|
||||
this.selected = false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -54,20 +51,18 @@ public abstract class GameEntity{
|
|||
max_life = l;
|
||||
}
|
||||
|
||||
/**
|
||||
* If the unit is selected.
|
||||
* @return true if selected.
|
||||
*/
|
||||
public boolean isSelected() {
|
||||
return selected;
|
||||
}
|
||||
/**
|
||||
* Sets a unit to be selected or not.
|
||||
* @param b true or false.
|
||||
*/
|
||||
public void setSelected(boolean b) {
|
||||
this.selected = b;
|
||||
}
|
||||
public abstract void setSelected(boolean b);
|
||||
|
||||
/**
|
||||
* Set if the mouse is over the unit or not
|
||||
* @param b If the mouse is over the unit or not
|
||||
*/
|
||||
public abstract void setMouseOver(boolean b);
|
||||
|
||||
protected abstract SelectBox getSelection();
|
||||
|
||||
public void move(int x, int y) {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package ei.game.scene;
|
|||
import ei.engine.math.Vector2f;
|
||||
import ei.engine.math.Vector2i;
|
||||
import ei.engine.math.Vector3f;
|
||||
import ei.engine.scene.Box;
|
||||
import ei.engine.scene.Node;
|
||||
import ei.engine.scene.Sprite;
|
||||
|
||||
|
|
@ -76,14 +75,24 @@ public class Map {
|
|||
* @return True if empty else false
|
||||
*/
|
||||
public boolean isPosEmpty(int x, int y){
|
||||
if(x < 0 || y < 0 || x >= width || y >= hight)
|
||||
return false;
|
||||
if(map[x][y] == null){
|
||||
if(posExist(x,y) && map[x][y] == null){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the given pos exists on the map
|
||||
* @param x The x pos
|
||||
* @param y The y pos
|
||||
* @return True if the given pos exists on the map
|
||||
*/
|
||||
public boolean posExist(int x, int y){
|
||||
if(x < 0 || y < 0 || x >= width || y >= hight)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the object at the pos
|
||||
*
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import ei.engine.texture.Texture;
|
|||
|
||||
public class SelectBox {
|
||||
private Node selectNode;
|
||||
private Node mouseOverNode;
|
||||
private Sprite value;
|
||||
private int max;
|
||||
private float width;
|
||||
|
|
@ -25,6 +26,7 @@ public class SelectBox {
|
|||
this.max = max;
|
||||
this.width = x;
|
||||
selectNode = new Node("SelectionNode");
|
||||
mouseOverNode = new Node("MouseOverNode");
|
||||
|
||||
Texture tex = new Texture();
|
||||
tex.setColor(new Vector4f(0.5f, 1.0f, 0.5f,1));
|
||||
|
|
@ -36,11 +38,13 @@ public class SelectBox {
|
|||
value.setSize(new Vector2f(x,height));
|
||||
value.setLocation(new Vector2f(0,-x/2+height/2));
|
||||
selectNode.add(value);
|
||||
mouseOverNode.add(value);
|
||||
|
||||
Box bar = new Box("bar",tex);
|
||||
bar.setSize(new Vector2f(x,height));
|
||||
bar.setLocation(new Vector2f(0,-x/2+height/2));
|
||||
selectNode.add(bar);
|
||||
mouseOverNode.add(bar);
|
||||
|
||||
Box select = new Box("select",tex);
|
||||
select.setSize(new Vector2f(x,y));
|
||||
|
|
@ -54,10 +58,20 @@ public class SelectBox {
|
|||
*
|
||||
* @return The node of the selection
|
||||
*/
|
||||
public Node getNode(){
|
||||
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
|
||||
*
|
||||
|
|
|
|||
|
|
@ -45,12 +45,20 @@ public abstract class Unit extends GameEntity{
|
|||
}
|
||||
|
||||
public void setSelected(boolean b) {
|
||||
super.setSelected(b);
|
||||
if(b) {
|
||||
unitNode.add(getSelection().getNode());
|
||||
unitNode.add(getSelection().getSelectNode());
|
||||
}
|
||||
else{
|
||||
unitNode.remove(getSelection().getNode());
|
||||
unitNode.remove(getSelection().getSelectNode());
|
||||
}
|
||||
}
|
||||
|
||||
public void setMouseOver(boolean b) {
|
||||
if(b) {
|
||||
unitNode.add(getSelection().getMouseOverNode());
|
||||
}
|
||||
else{
|
||||
unitNode.remove(getSelection().getMouseOverNode());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue