| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package gui.simulator;
- import gui.simulator.facilities.RestRoom;
- import gui.simulator.facilities.Stage;
- import java.awt.BasicStroke;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics2D;
- import java.awt.event.MouseEvent;
- import java.awt.geom.Point2D;
- import java.awt.geom.Rectangle2D;
- import java.util.ArrayList;
- public class Sidebar {
- private int sideBarWidth;
- private int sideBarHeight;
- private Terrain terrain;
- private ArrayList<Draw> drawableFacilities = new ArrayList<Draw>();
-
- /*
- * Constructor for initializing all variables
- * @param: int sideBarWidth -> width of sidebar
- * @param int screenHeight -> Height of screen, so sidebar will be same height
- */
- public Sidebar(int sideBarWidth, int screenHeight, Terrain terrain){
- this.sideBarWidth = sideBarWidth;
- this.sideBarHeight = screenHeight;
- this.terrain = terrain;
- }
-
- public void draw(Graphics2D g2){
- //setclip
- g2.setClip(new Rectangle2D.Double(0,0, sideBarWidth, sideBarHeight));
-
- //header
- g2.setColor(Color.GRAY);
- g2.fill3DRect(0, 0, 200, 50, true);
- g2.setColor(Color.WHITE);
- g2.setFont(new Font("Serif", Font.BOLD, 20));
- g2.drawString("Drag and drop", 30, 25);
-
- //draw seperation line
- g2.setColor(Color.BLACK);
- g2.setStroke(new BasicStroke(5));
- g2.drawLine(199, 0, 199, sideBarHeight);
-
- //draw objects
- Draw object1 = new Stage(20,100, 0.4, 10);
- object1.draw(g2);
- g2.drawString("stage", 80, 275);
- Draw object2 = new RestRoom(60,350, 1 , 10);
- object2.draw(g2);
- g2.drawString("toilettage", 70, 500);
- Draw object3 = new AccessPoint(terrain, 0,550, 0.5, 10);
- object3.draw(g2);
- g2.drawString("ingang", 70, 675);
- Draw object4 = new ExitPoint(terrain, 0,700, 0.5, 10);
- object4.draw(g2);
- 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(){
- return sideBarWidth;
- }
- }
|