72 lines
1.5 KiB
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;
|
|
}
|
|
}
|