|
|
@@ -19,7 +19,7 @@ import java.util.LinkedList;
|
|
|
public class Terrain extends JPanel {
|
|
|
|
|
|
private List<Draw> entities;
|
|
|
- private Point2D offset;
|
|
|
+ private Point2D offset, oldLocation;
|
|
|
private Draw dragObject, selectedObject;
|
|
|
|
|
|
public Terrain(){
|
|
|
@@ -41,8 +41,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;
|
|
|
}
|
|
|
@@ -51,7 +53,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();
|
|
|
}
|
|
|
});
|
|
|
|
|
|
@@ -120,10 +131,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));
|