package szoftlab4;

import static szoftlab4.Game.*;

import java.util.List;

/**
 * Egy tornyot megvalósító osztály.
 */
public class Tower {
	TowerGem gem = new TowerGem();
	
	/**
	 * A torony egy, a kapott listából kiválasztott ellenségre kilő egy lövedéket.
	 * 
	 * @param enemies Az ellenségek listája, amelyek közül kiválasztja a megtámadandót.
	 * @return A lövedék, amit a torony kilőtt az egyik ellenségre.
	 */
	public Projectile attack(List<Enemy> enemies) {
		printEnter(this, "enemies");
		
		Projectile ret = null;
		if (printYesNoQuestion("Van a tornyon varázskő?")) {
			gem.getRangeMultiplier();
			gem.getDamageMultiplier(enemies.get(0).getEnemyType());
		}
		
		if (printYesNoQuestion("Van a torony hatósugarán belül ellenség?"))
		{
			ret = new Projectile(enemies.get(0), new Vector(), 0);
		}
		
		printExit(this);
		return ret;
	}
	
	/**
	 * Lekérdezi a tornyon lévő varázskövet.
	 * 
	 * @return A varázskő, ami a tornyon van.
	 */
	public TowerGem getGem() {
		printEnter(this);
		
		TowerGem ret = new TowerGem();
		
		printExit(this);
		return ret;
	}

	/**
	 * Lekérdezi a torony pozícióját.
	 * 
	 * @return A torony helyét tároló Vector.
	 */
	public Vector getPosition() {
		printEnter(this);
		
		Vector ret = new Vector();
		
		printExit(this);
		return ret;
	}

	/**
	 * Lekérdezi a torony hatótávolságát.
	 * 
	 * @return A torony hatótávolsága.
	 */
	public double getRange() {
		printEnter(this);
		
		printExit(this);
		return 0;
	}
	
	/**
	 * Felrakja a paraméterül kapott varázskövet a toronyra.
	 * 
	 * @param gem A felrakandó varázskő.
	 */
	public void setGem(TowerGem gem) {
		printEnter(this, "gem");

		printExit(this);
	}
}

@@ -746,16 +746,125 @@
 %22))%0A%09%09%7B%0A
+%09%09%09enemies.get(0).getDistance();%0A%09%09%09if (printYesNoQuestion(%22Ez az ellens%C3%A9g van a legk%C3%B6zelebb a c%C3%A9lhoz?%22)) %7B%0A%09
 %09%09%09ret =
@@ -913,16 +913,21 @@
 (), 0);%0A
+%09%09%09%7D%0A
 %09%09%7D%0A%09%09%0A%09

Call Enemy.getDistance() in Tower.attack()