Эх сурвалжийг харах

Merge branch 'developer' of https://bitbucket.org/gjoosen/festivalplanner into developer

Supermaniac101 10 жил өмнө
parent
commit
0faa698606

+ 1 - 1
src/gui/simulator/Draw.java

@@ -32,7 +32,7 @@ public abstract class Draw {
         AffineTransform transform = new AffineTransform();
         transform.translate(this.x, this.y);
         transform.scale(this.scale, this.scale);
-        transform.rotate(Math.toRadians(this.rotation), this.image.getWidth(null) /2 , this.image.getHeight(null) / 2);
+        transform.rotate(Math.toRadians(this.rotation), this.image.getWidth(null) / 2, this.image.getHeight(null) / 2);
         return transform;
     }
 

+ 12 - 3
src/gui/simulator/Terrain.java

@@ -29,7 +29,7 @@ import javax.swing.SwingUtilities;
 public class Terrain extends JPanel {
 
     private List<Draw> entities;
-    private Point2D offset;
+    private Point2D offset, oldLocation;
     private Draw dragObject, selectedObject;
     private BufferedImage background;
     
@@ -68,8 +68,10 @@ public class Terrain extends JPanel {
                         offset = new Point2D.Double(e.getX() - drawObject.getX(), e.getY() - drawObject.getY());
                         selectedObject = dragObject;
                         newObject = true;
+                        oldLocation = new Point2D.Double(drawObject.getX(), drawObject.getY());
                     }
                 }
+
                 if(!newObject){
                     selectedObject = null;
                 }
@@ -78,7 +80,16 @@ public class Terrain extends JPanel {
 
             @Override
             public void mouseReleased(MouseEvent e) {
+                for(Draw draw: entities){
+                    if(!draw.equals(selectedObject)){
+                        if(intersection(draw, selectedObject)){
+                            selectedObject.setX(oldLocation.getX());
+                            selectedObject.setY(oldLocation.getY());
+                        }
+                    }
+                }
                 dragObject = null;
+                repaint();
             }
         });
 
@@ -163,10 +174,8 @@ public class Terrain extends JPanel {
 
             if(collide){
                 g2.setColor(new Color(254, 0, 0, 128));
-
             }else{
                 g2.setColor(new Color(0, 254, 0, 128));
-
             }
 
             g2.fill(this.drawDragRectangle(this.selectedObject));