package graphics;
import vehicles.RobberyCar;
import java.awt.*;
import java.util.ArrayList;
import _main.Game;
import cross.*;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import route.Route;
public class GraphicsLampCross extends AbstractGraphicsObject {
int xp;
int yp;
Image image;
int rotation;
Draw draw;
LampCross cr;
Icon lamp1;
Icon lamp2;
Icon lamp3;
/**
* GraphicsLampCross konstruktora, beolvassuk a felhasznalt kepeket a megfelelo attributumokba
* a kesobbi felhasznalas celjabol
*/
public GraphicsLampCross(){
lamp1 = new ImageIcon("images/lampa1.gif","zold lampa"); //egy ilyen imageIcont kell letrehozni
lamp2 = new ImageIcon("images/lampa3.gif","piros lampa"); //egy ilyen imageIcont kell letrehozni
}
public void setPosition(int xpos,int ypos){
xp = xpos;
yp = ypos;
}
/**
* Pozicio elkerese
* @return Point : koordinata
*/
public Point getPosition(){
return new Point(xp,yp);
}
/**
* Beallitja az adott Graphics osztalyhoz tartozo draw-t.
* @param d Draw
*/
public void setDraw(Draw d){
draw = d;
}
/**
* Beallitja az adott keresztezodest
* @param c Cross
*/
public void setCross(LampCross c){
cr = c;
}
/*public ArrayList<Lamp> getLamps(){
MainGraphics gr = Game.getInstance().getMap().getGraphics();
GraphicsLampCross g = (GraphicsLampCross)gr.getGraphicsFromObject(cr);
return g.getLamps();
}
*/
/**
* Visszaadja az adott lampa ikonjat: 1 zold, egyebkent piros
* @return Icon : lampa ikonja
*/
public Icon getLampIcon(int n){
if (n==1){return lamp1;}
else return lamp2;
}
/**
* Visszaadja egy adott lampa koordinatjat
* @param n lampa szama
* @return Point koordinata
*/
// visszaadja a egy adott lampa grafikus helyet
public Point getLampPosition(int n){
// MainGraphics-hoz hozzaferes
MainGraphics gr = Game.getInstance().getMap().getGraphics();
// lampa helye megnezzuk az elso bemeno utat:
Route r = cr.getInRoutes().get(n);
//megnezzuk a ket csomopontjat
Cross cr1 = r.getStartCross();
Point cr1p = gr.getGraphicsFromObject(cr1).getPosition();
Cross cr2 = r.getEndCross();
Point cr2p = gr.getGraphicsFromObject(cr2).getPosition();
// a tavolsag tizedenel helyezzuk el a lampat
Point pos = new Point(cr2p.x+(cr1p.x-cr2p.x)/6+10,cr2p.y+(cr1p.y-cr2p.y)/6);
return pos;
}
/**
* kiszamoljuk a megjeleniteshez szukseges valtozok erteket
*/
public void calcGraphics(){
MainGraphics gr = Game.getInstance().getMap().getGraphics();
draw.drawing(this,gr.getGraphic());
}
}