diff --git a/src/ei/game/gamestate/InGameState.java b/src/ei/game/gamestate/InGameState.java index 67c89db..69f06d6 100644 --- a/src/ei/game/gamestate/InGameState.java +++ b/src/ei/game/gamestate/InGameState.java @@ -7,6 +7,7 @@ import ei.game.player.HumanPlayer; import ei.game.player.PlayerHandler; import ei.game.scene.Map; import ei.game.scene.units.Tank; +import ei.game.scene.weapons.WeaponHandler; public class InGameState extends GameState{ @@ -33,6 +34,9 @@ public class InGameState extends GameState{ rootNode.add(player.getNode()); PlayerHandler.getInstance().addPlayer(player); + + rootNode.add(WeaponHandler.getInstance().getNode()); + } /** @@ -47,6 +51,7 @@ public class InGameState extends GameState{ */ public void update() { PlayerHandler.getInstance().update(); + WeaponHandler.getInstance().update(); rootNode.update(); } diff --git a/src/ei/game/input/InGameMouseInput.java b/src/ei/game/input/InGameMouseInput.java index 17717f6..f3f7a3d 100644 --- a/src/ei/game/input/InGameMouseInput.java +++ b/src/ei/game/input/InGameMouseInput.java @@ -58,7 +58,7 @@ public class InGameMouseInput extends MouseInput{ //selecting unit. if(event==RIGHT_MOUSE_BUTTON) { for(int i=0; i part.getLocation().getX()) { - part.getLocation().add(4f*percentage, 0f, 0f); + System.out.println("xVel: "+Math.abs(part.getLocation().getX()-vect.getX())); + + if(vect.getX() > part.getLocation().getX()) { + part.getLocation().add(xVelocity, 0f, 0f); } - if(target.getX() < part.getLocation().getX()) { - part.getLocation().add(-4.0f*percentage, 0f, 0f); + if(vect.getX() < part.getLocation().getX()) { + part.getLocation().add(-xVelocity, 0f, 0f); } - if(target.getY() > part.getLocation().getY()) { - part.getLocation().add(0f, 4.0f, 0f); + if(vect.getY() > part.getLocation().getY()) { + part.getLocation().add(0f, yVelocity, 0f); } - if(target.getY() < part.getLocation().getY()) { - part.getLocation().add(0f, -4.0f, 0f); + if(vect.getY() < part.getLocation().getY()) { + part.getLocation().add(0f, -yVelocity, 0f); } - + if(Math.abs(part.getLocation().getX()-vect.getX()) < 10 && Math.abs(part.getLocation().getY()-vect.getY()) < 10) { + part.regenerate = false; + if(part.isDead()) { + WeaponHandler.getInstance().removeWeapon(this); + } + } + } + /** + * Returns the node with the weapon. + * @return + */ public Entity getNode() { return part; }