|
@@ -7,12 +7,16 @@ import java.awt.BasicStroke;
|
|
|
import java.awt.Color;
|
|
import java.awt.Color;
|
|
|
import java.awt.Font;
|
|
import java.awt.Font;
|
|
|
import java.awt.Graphics2D;
|
|
import java.awt.Graphics2D;
|
|
|
|
|
+import java.awt.event.MouseEvent;
|
|
|
|
|
+import java.awt.geom.Point2D;
|
|
|
import java.awt.geom.Rectangle2D;
|
|
import java.awt.geom.Rectangle2D;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
|
|
|
public class Sidebar {
|
|
public class Sidebar {
|
|
|
private int sideBarWidth;
|
|
private int sideBarWidth;
|
|
|
private int sideBarHeight;
|
|
private int sideBarHeight;
|
|
|
private Terrain terrain;
|
|
private Terrain terrain;
|
|
|
|
|
+ private ArrayList<Draw> drawableFacilities = new ArrayList<Draw>();
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
|
* Constructor for initializing all variables
|
|
* Constructor for initializing all variables
|
|
@@ -23,23 +27,24 @@ public class Sidebar {
|
|
|
this.sideBarWidth = sideBarWidth;
|
|
this.sideBarWidth = sideBarWidth;
|
|
|
this.sideBarHeight = screenHeight;
|
|
this.sideBarHeight = screenHeight;
|
|
|
this.terrain = terrain;
|
|
this.terrain = terrain;
|
|
|
-
|
|
|
|
|
- System.out.println(this.sideBarHeight); System.out.println(this.sideBarWidth); System.out.println(this.terrain);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void draw(Graphics2D g2){
|
|
public void draw(Graphics2D g2){
|
|
|
- //g2.drawImage(this.image, this.getAffineTransform(), null);
|
|
|
|
|
-
|
|
|
|
|
- //draw sidebar
|
|
|
|
|
|
|
+ //setclip
|
|
|
g2.setClip(new Rectangle2D.Double(0,0, sideBarWidth, sideBarHeight));
|
|
g2.setClip(new Rectangle2D.Double(0,0, sideBarWidth, sideBarHeight));
|
|
|
|
|
+
|
|
|
|
|
+ //header
|
|
|
g2.setColor(Color.GRAY);
|
|
g2.setColor(Color.GRAY);
|
|
|
g2.fill3DRect(0, 0, 200, 50, true);
|
|
g2.fill3DRect(0, 0, 200, 50, true);
|
|
|
g2.setColor(Color.WHITE);
|
|
g2.setColor(Color.WHITE);
|
|
|
g2.setFont(new Font("Serif", Font.BOLD, 20));
|
|
g2.setFont(new Font("Serif", Font.BOLD, 20));
|
|
|
g2.drawString("Drag and drop", 30, 25);
|
|
g2.drawString("Drag and drop", 30, 25);
|
|
|
|
|
+
|
|
|
|
|
+ //draw seperation line
|
|
|
g2.setColor(Color.BLACK);
|
|
g2.setColor(Color.BLACK);
|
|
|
g2.setStroke(new BasicStroke(5));
|
|
g2.setStroke(new BasicStroke(5));
|
|
|
g2.drawLine(199, 0, 199, sideBarHeight);
|
|
g2.drawLine(199, 0, 199, sideBarHeight);
|
|
|
|
|
+
|
|
|
//draw objects
|
|
//draw objects
|
|
|
Draw object1 = new Stage(0,50);
|
|
Draw object1 = new Stage(0,50);
|
|
|
object1.draw(g2);
|
|
object1.draw(g2);
|
|
@@ -55,6 +60,30 @@ public class Sidebar {
|
|
|
g2.drawString("uitgang", 70, 800);
|
|
g2.drawString("uitgang", 70, 800);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private void getFacility(MouseEvent e){
|
|
|
|
|
+ Point2D clickPoint = terrain.getClickPoint(e.getPoint());
|
|
|
|
|
+ Draw dragObject = null;
|
|
|
|
|
+ if(e.getX() < sideBarWidth)
|
|
|
|
|
+ {
|
|
|
|
|
+ if(e.getY() < 300){
|
|
|
|
|
+ dragObject = new Stage((int)clickPoint.getX(),(int)clickPoint.getY(), 0.5, 10);
|
|
|
|
|
+ terrain.setDragObject(dragObject);
|
|
|
|
|
+ }else if(e.getY() > 300 && e.getY() < 550){
|
|
|
|
|
+ dragObject = new RestRoom((int)clickPoint.getX(),(int)clickPoint.getY(), 0.5, 10);
|
|
|
|
|
+ terrain.setDragObject(dragObject);
|
|
|
|
|
+ }else if(e.getY() > 550 && e.getY() < 800){
|
|
|
|
|
+ dragObject = new AccessPoint(terrain, (int)clickPoint.getX(),(int)clickPoint.getY(), 0.5, 10);
|
|
|
|
|
+ terrain.setDragObject(dragObject);
|
|
|
|
|
+ }
|
|
|
|
|
+ else if(e.getY() > 800){
|
|
|
|
|
+ dragObject = new ExitPoint(terrain, (int)clickPoint.getX(),(int)clickPoint.getY(), 0.5, 10);
|
|
|
|
|
+ terrain.setDragObject(dragObject);
|
|
|
|
|
+ }
|
|
|
|
|
+ if(dragObject != null)
|
|
|
|
|
+ terrain.addEntity(dragObject);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public int getSideBarWidth(){
|
|
public int getSideBarWidth(){
|
|
|
return sideBarWidth;
|
|
return sideBarWidth;
|
|
|
}
|
|
}
|