diff --git a/src/ei/engine/math/Vector2f.java b/src/ei/engine/math/Vector2f.java index be1a323..6b7d75d 100644 --- a/src/ei/engine/math/Vector2f.java +++ b/src/ei/engine/math/Vector2f.java @@ -70,8 +70,8 @@ public class Vector2f implements Comparable{ } public void sub(float sx,float sy){ - x += sx; - y += sy; + x -= sx; + y -= sy; } public String toString(){ diff --git a/src/ei/game/gamestate/EndGameState.java b/src/ei/game/gamestate/EndGameState.java index 19ca7d6..5886f2f 100644 --- a/src/ei/game/gamestate/EndGameState.java +++ b/src/ei/game/gamestate/EndGameState.java @@ -28,18 +28,19 @@ public class EndGameState extends GameState{ case VICTORY: Sprite v = new Sprite("Victory","data/victory.png"); v.setLocation(new Vector3f( - (LWJGLGameWindow.getWidth()/2), - (LWJGLGameWindow.getHeight()/2),0.0f)); + (LWJGLGameWindow.getWidth()/2+LWJGLGameWindow.getCamera().getLocation().getX()), + (LWJGLGameWindow.getHeight()/2+LWJGLGameWindow.getCamera().getLocation().getY()),0.0f)); fade.setEntity(v); break; case DEFEAT: Sprite d = new Sprite("Defeat","data/defeat.png"); d.setLocation(new Vector3f( - (LWJGLGameWindow.getWidth()/2), - (LWJGLGameWindow.getHeight()/2),0.0f)); + (LWJGLGameWindow.getWidth()/2+LWJGLGameWindow.getCamera().getLocation().getX()), + (LWJGLGameWindow.getHeight()/2+LWJGLGameWindow.getCamera().getLocation().getY()),0.0f)); fade.setEntity(d); break; - } + } + InGameState.input(false); } @Override diff --git a/src/ei/game/gamestate/InGameState.java b/src/ei/game/gamestate/InGameState.java index db14674..9ebf536 100644 --- a/src/ei/game/gamestate/InGameState.java +++ b/src/ei/game/gamestate/InGameState.java @@ -12,7 +12,6 @@ import ei.game.player.HumanPlayer; import ei.game.player.PlayerHandler; import ei.game.scene.Map; import ei.game.scene.units.APU; -import ei.game.scene.units.Bomber; import ei.game.scene.units.Tank; import ei.game.scene.weapons.WeaponHandler; @@ -98,7 +97,7 @@ public class InGameState extends GameState{ return map; } - public void input(boolean b){ + public static void input(boolean b){ mouse.setEnabled(b); keyboard.setEnabled(b); } diff --git a/src/ei/game/scene/buildings/Building.java b/src/ei/game/scene/buildings/Building.java index 12fe33e..1478ad3 100644 --- a/src/ei/game/scene/buildings/Building.java +++ b/src/ei/game/scene/buildings/Building.java @@ -32,11 +32,15 @@ public abstract class Building extends GameEntity{ super(l, p); this.size = size; buildQueue = new LinkedList(); - unitNode = new Node("UnitNode"); + unitNode = new Node("BuildingNode"); unitNode.setLocation(Map.getPixelByPos(pos.getX(), pos.getY(), this.size)); setPos(pos.getX(), pos.getY(), this.size); - moveFrom = Map.getPixelByPos(oldPos.getX()+size-2, oldPos.getY()+size-1); + moveFrom = Map.getPixelByPos(oldPos.getX()+size-2, oldPos.getY()+size-2); moveTo = Map.getPixelByPos( oldPos.getX()+size-2, oldPos.getY()+size); + + moveFrom.sub(unitNode.getLocation().getX()-20,unitNode.getLocation().getY()); + moveTo.sub(unitNode.getLocation().getX(),unitNode.getLocation().getY()); + } public void setSelected(Player p,boolean b, boolean playSound) { @@ -172,11 +176,11 @@ public abstract class Building extends GameEntity{ buildTime++; if(buildTime >= buildQueue.peek().getBuildTime()){ if(!unitNode.contains(buildQueue.peek().getNode())){ - System.out.println("lol1"+buildQueue.peek().getNode()); unitNode.add(buildQueue.peek().getNode(),unitNode.size()/2); buildQueue.peek().getNode().setLocation(moveFrom); } - Vector2i temp = Map.getPosByPixel(moveTo.getX(), moveTo.getY()); + Vector2i temp = Map.getPosByPixel(moveTo.getX()+unitNode.getLocation().getX(), moveTo.getY()+unitNode.getLocation().getY()); + System.out.println("lol "+temp+" "+moveTo.getX()); if(!InGameState.getMap().isPosEmpty(temp.getX(),temp.getY())){ InGameState.getMap().getPos(temp.getX(),temp.getY()).move(false, oldPos.getX()+(size/2), oldPos.getY()-(size/2)); } @@ -194,7 +198,7 @@ public abstract class Building extends GameEntity{ if(moveTo.getY() < buildQueue.peek().getNode().getLocation().getY()) { buildQueue.peek().getNode().getLocation().add(0f, -buildQueue.peek().getVelocity(), 0f); } - System.out.println("lol2"+buildQueue.peek().getNode().getLocation()); + if(Math.abs(moveTo.getX() - buildQueue.peek().getNode().getLocation().getX()) < buildQueue.peek().getVelocity()+1 && Math.abs(moveTo.getY() - buildQueue.peek().getNode().getLocation().getY())< buildQueue.peek().getVelocity()+1 ){ buildTime = 0;