cicaprojekt/cicaprojekt/GateDrawer.java

72 lines
1.5 KiB
Java
Raw Permalink Normal View History

2016-05-07 14:08:25 +00:00
package cicaprojekt;
import java.io.IOException;
2016-05-16 14:29:47 +00:00
/**
* Egy kapu kirajzolásáért felelős osztály.
*/
public class GateDrawer extends AbstractDrawer {
2016-05-16 14:29:47 +00:00
/**
* Egy kapupéldány, amelyet kirajzolunk.
*/
private Gate gate;
2016-05-07 14:08:25 +00:00
2016-05-16 14:29:47 +00:00
/**
* A kapott kapupéldányhoz kirajzol egy kaput.
*
* @param g a kapott kapupéldány
* @throws IOException Ha nem található a kép.
*/
2016-05-07 14:08:25 +00:00
public GateDrawer(Gate g) throws IOException {
super("Gate.png");
2016-05-07 14:08:25 +00:00
gate = g;
}
2016-05-16 14:29:47 +00:00
/**
* 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.
*/
2016-05-07 14:08:25 +00:00
@Override
public void draw() throws IOException {
2016-05-14 18:31:55 +00:00
if(gate.isOpen()) {
if(gate.hasBox())
changeImage("OpenGate_Box.png");
else
changeImage("OpenGate.png");
2016-05-14 18:31:55 +00:00
}
2016-05-07 14:08:25 +00:00
else
changeImage("Gate.png");
2016-05-07 14:08:25 +00:00
}
2016-05-16 14:29:47 +00:00
/**
* A kapu x-koordinátájával tér vissza.
*
* @return x-koordináta
*/
2016-05-07 14:08:25 +00:00
@Override
public int getTileX() {
2016-05-07 14:08:25 +00:00
return gate.getX();
}
2016-05-16 14:29:47 +00:00
/**
* A kapu y-koordinátájával tér vissza.
*
* @return y-koordináta
*/
2016-05-07 14:08:25 +00:00
@Override
public int getTileY() {
2016-05-07 14:08:25 +00:00
return gate.getY();
}
2016-05-16 14:29:47 +00:00
/**
* Á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;
}
2016-05-07 14:08:25 +00:00
}