Browse Source

stage has walking area.

Gilian Joosen 10 năm trước cách đây
mục cha
commit
00bb01722b

+ 2 - 2
src/gui/simulator/Sidebar.java

@@ -226,8 +226,8 @@ public class Sidebar implements Serializable  {
             	for(Entry<String, DrawEngine> object : drawableArrays.get(currentTab.getValue()).entrySet()){
 	    			if(object.getValue().contains(e.getPoint())){
 	    				try {
-							Constructor<?> constructor = object.getValue().getClass().getConstructor(int.class, int.class, double.class, double.class, Terrain.class);
-							dragObject = (DrawEngine) constructor.newInstance(new Object[] { (int)clickPoint.getX(),(int)clickPoint.getY(), 0.5, 10, terrain });
+							Constructor<?> constructor = object.getValue().getClass().getConstructor(int.class, int.class, double.class, double.class, Terrain.class, boolean.class);
+							dragObject = (DrawEngine) constructor.newInstance(new Object[] { (int)clickPoint.getX(),(int)clickPoint.getY(), 0.5, 10, terrain, true});
 							terrain.setDragObject(dragObject);					
 	    				} catch (NoSuchMethodException | SecurityException |  IllegalArgumentException | InstantiationException | IllegalAccessException | InvocationTargetException e1) {
 							e1.printStackTrace();

+ 0 - 1
src/gui/simulator/WalkingPath.java

@@ -1,7 +1,6 @@
 package gui.simulator;
 
 import gui.simulator.Images.ImageType;
-import gui.simulator.facilities.Stage;
 
 import java.awt.BasicStroke;
 import java.awt.Graphics2D;

+ 26 - 3
src/gui/simulator/facilities/SimulatorStage.java

@@ -3,6 +3,7 @@ package gui.simulator.facilities;
 import java.awt.Color;
 import java.awt.Graphics2D;
 import java.awt.geom.GeneralPath;
+import java.awt.geom.Rectangle2D;
 import java.io.Serializable;
 import java.util.GregorianCalendar;
 
@@ -21,16 +22,33 @@ public class SimulatorStage extends DrawEngine implements Serializable {
     private Act playingact;
     private int movement1,movement2;
     private long lastTime;
+	private boolean drawWalkArea;
+	private Rectangle2D.Double walkArea = new Rectangle2D.Double(20, 250, 350, 100);
 
-    public SimulatorStage(int x, int y, Terrain terrain) {
+    public SimulatorStage(int x, int y, Terrain terrain, boolean drawWalkArea) {
         super(images, x, y, 1, 0,SimulatorPane.Objects.STAGE, terrain);
         changeLightbeam();
+		this.drawWalkArea = drawWalkArea;
     }
 
-    public SimulatorStage(int x, int y, double scale, double distance, Terrain terrain) {
-        super(images, x, y, scale, distance,SimulatorPane.Objects.STAGE, terrain);
+    public SimulatorStage(int x, int y, double scale, double distance, Terrain terrain, boolean drawWalkArea) {
+        super(images, x, y, scale, distance, SimulatorPane.Objects.STAGE, terrain);
+		this.drawWalkArea = drawWalkArea;
         changeLightbeam();
     }
+
+	public SimulatorStage(int x, int y, double scale, double distance, Terrain terrain) {
+		super(images, x, y, scale, distance, SimulatorPane.Objects.STAGE, terrain);
+		this.drawWalkArea = false;
+		changeLightbeam();
+	}
+
+
+	public SimulatorStage(int x, int y, Terrain terrain) {
+		super(images, x, y, 1, 0,SimulatorPane.Objects.STAGE, terrain);
+		changeLightbeam();
+		this.drawWalkArea = false;
+	}
     
     public String getFacilityName(){
     	return facilityName;
@@ -72,7 +90,12 @@ public class SimulatorStage extends DrawEngine implements Serializable {
 	    	g.fill(this.getAffineTransform().createTransformedShape(lightbeam));
     	}
     	super.draw(g);
+		if(this.drawWalkArea){
+			g.setColor(Color.GREEN);
+			g.fill(getAffineTransform().createTransformedShape(this.walkArea));
+		}
     }
+
     public void changeLightbeam(){
     	lastTime = System.currentTimeMillis();
     	movement1 = (int) (Math.random()*70)-35;

+ 0 - 26
src/gui/simulator/facilities/Stage.java

@@ -1,26 +0,0 @@
-package gui.simulator.facilities;
-
-import java.io.Serializable;
-
-import gui.simulator.DrawEngine;
-import gui.simulator.Images;
-import gui.simulator.SimulatorPane;
-import gui.simulator.Terrain;
-
-public class Stage extends DrawEngine implements Serializable{
-
-	private static Images.ImageType images = Images.ImageType.Tent;
-	private static String facilityName = "Stage";
-
-    public Stage(int x, int y, Terrain terrain) {
-        super(images, x, y, 1, 0,SimulatorPane.Objects.STAGE, terrain);
-    }
-
-    public Stage(int x, int y, double scale, double distance, Terrain terrain) {
-        super(images, x, y, scale, distance,SimulatorPane.Objects.STAGE, terrain);
-    }
-    
-    public String getFacilityName(){
-    	return facilityName;
-    }
-}