package ei.game.scene.units; import ei.engine.math.Vector2f; import ei.engine.math.Vector2i; import ei.engine.scene.Sprite; import ei.game.gamestate.InGameState; import ei.game.player.Human; import ei.game.scene.GameEntity; import ei.game.scene.weapons.Weapon; public abstract class Unit extends GameEntity{ private Sprite looks; private Weapon weapon; private Vector2i oldPos; public Unit(int l) { super(l); looks = new Sprite("none"); InGameState.getHuman().addUnit(this); setPos(5, 5); } public Sprite getSprite(){ return looks; } public void setSprite(Sprite image) { looks = image; } public void setPos(int x, int y) { oldPos = new Vector2i(x, y); InGameState.getMap().setPos(this, x, y); } public void move(int x, int y) { if(oldPos!=null) { InGameState.getMap().removePos(oldPos.getX(), oldPos.getY()); } setPos(x, y); looks.move(InGameState.getMap().getPixelByPos((int)x, (int)y)); oldPos = new Vector2i(x, y); } }