From a8660820e388353383a2fea10384c2aded6dab2a Mon Sep 17 00:00:00 2001 From: Remco Date: Wed, 8 Apr 2015 23:21:10 +0200 Subject: [PATCH] disabled editting while watching simulation --- Applicatie/Panel.java | 13 ++- Listeners/Mouse.java | 209 +++++++++++++++++++++--------------------- 2 files changed, 118 insertions(+), 104 deletions(-) diff --git a/Applicatie/Panel.java b/Applicatie/Panel.java index 2c55ea0..0c7b546 100644 --- a/Applicatie/Panel.java +++ b/Applicatie/Panel.java @@ -63,6 +63,7 @@ public class Panel extends JPanel implements ActionListener private Path currentPath; private static int width = 1920; private static int height = 1080; + private boolean play = false; Point2D cameraPoint = new Point2D.Double(getWidth() / 2, getHeight() / 2); float cameraScale = 1; @@ -240,7 +241,7 @@ public class Panel extends JPanel implements ActionListener if(!entrances.isEmpty()) { DrawObject entrance = entrances.get((int) Math.floor(Math.random()*entrances.size())); Point point = new Point((int)entrance.getPosition().getX(),(int)entrance.getPosition().getY()); - visitors.add(new Visitor("visitor",point, agenda, objects)); + visitors.add(new Visitor("visitor",point, agenda, objects, waypoints, date)); } else { JOptionPane.showMessageDialog(this, "You don't have an entrance"); @@ -662,6 +663,16 @@ public class Panel extends JPanel implements ActionListener { this.t = t; } + + public void setPlay(boolean play) + { + this.play = play; + } + + public boolean getPlay() + { + return play; + } public void newWorld(int width, int height, int terrainIndex) { diff --git a/Listeners/Mouse.java b/Listeners/Mouse.java index 75d8b1c..f0ad434 100644 --- a/Listeners/Mouse.java +++ b/Listeners/Mouse.java @@ -35,130 +35,133 @@ public class Mouse extends MouseAdapter Point2D clickPoint = panel.getClickPoint(e.getPoint()); panel.setLastClickPosition(clickPoint); panel.setLastMousePosition(e.getPoint()); - - if (!panel.getClickedOption().equals("Path")) + + if(!panel.getPlay()) { - if (e.getY() < 150) + if (!panel.getClickedOption().equals("Path")) { - int i = 0; - int last = 0; - for (BufferedImage image : panel.getPanelInfo()) + if (e.getY() < 150) { - if (e.getX() >= panel.getScrollfactor() && e.getX() < last + image.getWidth() + panel.getScrollfactor()) + int i = 0; + int last = 0; + for (BufferedImage image : panel.getPanelInfo()) { - DrawObject tempDrawObj = panel.createNewDrawObject(i); - if (tempDrawObj != null) + if (e.getX() >= panel.getScrollfactor() && e.getX() < last + image.getWidth() + panel.getScrollfactor()) { - tempDrawObj.setPosition(clickPoint); - if (!panel.getObjects().isEmpty()) - panel.clearObjectSelection(); - panel.setDragObject(tempDrawObj); - panel.getDragObject().setSelected(true); - panel.getPP().setSelected(tempDrawObj); - panel.setSelectedObject(tempDrawObj); - selectedObject = tempDrawObj; + DrawObject tempDrawObj = panel.createNewDrawObject(i); + if (tempDrawObj != null) + { + tempDrawObj.setPosition(clickPoint); + if (!panel.getObjects().isEmpty()) + panel.clearObjectSelection(); + panel.setDragObject(tempDrawObj); + panel.getDragObject().setSelected(true); + panel.getPP().setSelected(tempDrawObj); + panel.setSelectedObject(tempDrawObj); + selectedObject = tempDrawObj; + } + break; } - break; + i++; + last += image.getWidth(); } - i++; - last += image.getWidth(); - } - if (panel.getDragObject() != null) - { - panel.add(panel.getDragObject()); - } - } - else - { - for (DrawObject o : panel.getObjects()) - { - if (o.contains(clickPoint)) + if (panel.getDragObject() != null) { - if (SwingUtilities.isRightMouseButton(e)) - { - if (o instanceof Waypoint) - { - new WaypointPopup(o, panel); - - } - } - if (o == selectedObject) - { - boolean upperLeft = o.containsCorner(clickPoint, 0); - boolean upperRight = o.containsCorner(clickPoint, 1); - boolean bottomLeft = o.containsCorner(clickPoint, 2); - boolean bottomRight = o.containsCorner(clickPoint, 3); - boolean rotate = o.containsCorner(clickPoint, 4); - if (upperLeft) - { - panel.setClickedOption("upperLeft"); - } - else if (upperRight) - { - panel.setClickedOption("upperRight"); - } - else if (bottomLeft) - { - panel.setClickedOption("bottomLeft"); - } - else if (bottomRight) - { - panel.setClickedOption("bottomRight"); - } - else if (rotate) - { - panel.setClickedOption("rotate"); - } - else - { - panel.setClickedOption("drag"); - } - } - if (selectedObject != null) - selectedObject.setSelected(false); - o.setSelected(true); - selectedObject = o; - panel.setDragObject(o); - panel.getPP().setSelected(o); - panel.setSelectedObject(o); - panel.setSelectionPosition(panel.getDragObject().getPosition()); - - } - } - Path clickedPath = panel.getClickedPath(clickPoint); - if (clickedPath != null) - { - if (SwingUtilities.isRightMouseButton(e)) - { - new PathPopup(clickedPath, panel); + panel.add(panel.getDragObject()); } } else { - panel.checkPath(clickPoint); + for (DrawObject o : panel.getObjects()) + { + if (o.contains(clickPoint)) + { + if (SwingUtilities.isRightMouseButton(e)) + { + if (o instanceof Waypoint) + { + new WaypointPopup(o, panel); + + } + } + if (o == selectedObject) + { + boolean upperLeft = o.containsCorner(clickPoint, 0); + boolean upperRight = o.containsCorner(clickPoint, 1); + boolean bottomLeft = o.containsCorner(clickPoint, 2); + boolean bottomRight = o.containsCorner(clickPoint, 3); + boolean rotate = o.containsCorner(clickPoint, 4); + if (upperLeft) + { + panel.setClickedOption("upperLeft"); + } + else if (upperRight) + { + panel.setClickedOption("upperRight"); + } + else if (bottomLeft) + { + panel.setClickedOption("bottomLeft"); + } + else if (bottomRight) + { + panel.setClickedOption("bottomRight"); + } + else if (rotate) + { + panel.setClickedOption("rotate"); + } + else + { + panel.setClickedOption("drag"); + } + } + if (selectedObject != null) + selectedObject.setSelected(false); + o.setSelected(true); + selectedObject = o; + panel.setDragObject(o); + panel.getPP().setSelected(o); + panel.setSelectedObject(o); + panel.setSelectionPosition(panel.getDragObject().getPosition()); + + } + } + Path clickedPath = panel.getClickedPath(clickPoint); + if (clickedPath != null) + { + if (SwingUtilities.isRightMouseButton(e)) + { + new PathPopup(clickedPath, panel); + } + } + else + { + panel.checkPath(clickPoint); + } + } + if (panel.getDragObject() == null && selectedObject != null) + { + selectedObject.setSelected(false); + panel.setSelectedObject(null); + panel.getPP().clearSelected(); + selectedObject = null; + } + } + else + { // Making path. + + panel.getCurrentPath().addPoint(new Point2D.Double(clickPoint.getX(), clickPoint.getY())); } - if (panel.getDragObject() == null && selectedObject != null) - { - selectedObject.setSelected(false); - panel.setSelectedObject(null); - panel.getPP().clearSelected(); - selectedObject = null; - } - } - else - { // Making path. - - panel.getCurrentPath().addPoint(new Point2D.Double(clickPoint.getX(), clickPoint.getY())); - } panel.repaint(); } public void mouseReleased(MouseEvent e) { - if (panel.getDragObject() != null) + if (panel.getDragObject() != null && !panel.getPlay()) { if (panel.getDragObject().getRectangleColor() != Color.RED) {