cicaprojekt/cicaprojekt/GateDrawer.java

72 lines
1.5 KiB
Java

package cicaprojekt;
import java.io.IOException;
/**
* Egy kapu kirajzolásáért felelős osztály.
*/
public class GateDrawer extends AbstractDrawer {
/**
* Egy kapupéldány, amelyet kirajzolunk.
*/
private Gate gate;
/**
* A kapott kapupéldányhoz kirajzol egy kaput.
*
* @param g a kapott kapupéldány
* @throws IOException Ha nem található a kép.
*/
public GateDrawer(Gate g) throws IOException {
super("Gate.png");
gate = g;
}
/**
* A kapu képét megváltoztatja annak megfelelően, hogy csukva van,
* nyitva, illetve van-e rajta doboz.
*
* @throws IOException Ha nem találhatóak a képek.
*/
@Override
public void draw() throws IOException {
if(gate.isOpen()) {
if(gate.hasBox())
changeImage("OpenGate_Box.png");
else
changeImage("OpenGate.png");
}
else
changeImage("Gate.png");
}
/**
* A kapu x-koordinátájával tér vissza.
*
* @return x-koordináta
*/
@Override
public int getTileX() {
return gate.getX();
}
/**
* A kapu y-koordinátájával tér vissza.
*
* @return y-koordináta
*/
@Override
public int getTileY() {
return gate.getY();
}
/**
* Átállítja a kapott <code>Gate</code>-re a kirajzolandó kaput.
*
* @param gate a kapott kapu
*/
public void setGate(Gate gate) {
this.gate = gate;
}
}