From b50c4d2c33dae9d9f153cf3b627033c6a4617c53 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Wed, 8 Apr 2015 13:51:01 +0200 Subject: [PATCH] Objects can no longer move outside field --- Applicatie/Panel.java | 1 + Objects/DrawObject.java | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Applicatie/Panel.java b/Applicatie/Panel.java index 4da85ef..a570dfe 100644 --- a/Applicatie/Panel.java +++ b/Applicatie/Panel.java @@ -612,6 +612,7 @@ public class Panel extends JPanel implements ActionListener this.height = height; paths.clear(); objects.clear(); + visitors.clear(); cameraScale = 1; switch (terrainIndex) { diff --git a/Objects/DrawObject.java b/Objects/DrawObject.java index d07d397..6580c79 100644 --- a/Objects/DrawObject.java +++ b/Objects/DrawObject.java @@ -15,6 +15,7 @@ import java.io.Serializable; import javax.swing.ImageIcon; import Applicatie.Images; +import Applicatie.Panel; public abstract class DrawObject implements Serializable { @@ -232,11 +233,27 @@ public abstract class DrawObject implements Serializable public void setPosition(Point2D position) { + if(position.getX() < -Panel.getFieldWidth()/2) + { + position.setLocation(-Panel.getFieldWidth()/2, position.getY()); + } + if(position.getY() < -Panel.getFieldHeight()/2) + { + position.setLocation(position.getX(), -Panel.getFieldHeight()/2); + } + if(position.getX() > Panel.getFieldWidth()/2 - width) + { + position.setLocation(Panel.getFieldWidth()/2-width, position.getY()); + } + if(position.getY() > Panel.getFieldHeight()/2 - height) + { + position.setLocation(position.getX(), Panel.getFieldHeight()/2-height); + } this.position = position; } public void setPosition(Point2D position, boolean b) { - this.position = position; + setPosition(position); } public double getRotation()