Jelajahi Sumber

festival designer save feature bug fixed.

Gilian Joosen 10 tahun lalu
induk
melakukan
3478fdd644

+ 1 - 0
src/gui/frames/MainFrame.java

@@ -131,5 +131,6 @@ public class MainFrame extends JFrame{
 
 	public void setSimulatorpanel(JPanel simulatorpanel) {
 		this.simulatorpanel = simulatorpanel;
+		this.updateView(simulatorpanel);
 	}
 }

+ 1 - 0
src/gui/menubar/MenuBar.java

@@ -163,6 +163,7 @@ public class MenuBar extends JMenuBar{
 			@Override
 			public void actionPerformed(ActionEvent arg0) {
 				try {
+					//TODO simPanel value is null.
 					simPanel = mainFrame.getSimulatorpanel();
 					terrain = ((SimulatorPane) simPanel).getTerrain();
 					if(simPanel != null){

+ 2 - 1
src/gui/simulator/AccessPoint.java

@@ -1,13 +1,14 @@
 package gui.simulator;
 
 import gui.simulator.Terrain.Location;
+import gui.simulator.facilities.ImageType;
 
 import java.awt.geom.Rectangle2D;
 import java.io.Serializable;
 
 public class AccessPoint extends DrawEngine implements Serializable {
 	
-	private static Images.ImageType images = Images.ImageType.Entrance;
+	private static ImageType images = ImageType.Entrance;
 	private static String facilityName = "Ingang";
 	private Terrain terrain;
 	

+ 3 - 1
src/gui/simulator/Border.java

@@ -1,5 +1,7 @@
 package gui.simulator;
 
+import gui.simulator.facilities.ImageType;
+
 import java.awt.Graphics2D;
 import java.awt.Shape;
 import java.awt.geom.Point2D;
@@ -10,7 +12,7 @@ import java.io.Serializable;
 
 public class Border extends DrawEngine implements Serializable {
 
-	private static Images.ImageType images = Images.ImageType.Border;
+	private static ImageType images = ImageType.Border;
 	private static String facilityName = "Border";
 	private int width;
 	private int height;

+ 11 - 5
src/gui/simulator/DrawEngine.java

@@ -1,19 +1,22 @@
 package gui.simulator;
 
 import gui.simulator.Terrain.Location;
+import gui.simulator.facilities.ImageType;
+
 import java.awt.*;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
+import java.io.Serializable;
 
 /**
  *
  * Created by gjoosen on 07/03/15.
  * Edited by master D Mathijssen on 17-3-2015 and some other days
  */
-public abstract class DrawEngine{
+public abstract class DrawEngine implements Serializable{
 
-    private Images.ImageType image;
+    private ImageType image;
     private double x, y, rotation, scale;
     private double distanceToOtherObjects;
     public SimulatorPane.Objects type;
@@ -21,11 +24,14 @@ public abstract class DrawEngine{
     private boolean drawWalkArea;
     private Rectangle2D.Double walkArea;
 
-    public DrawEngine(){
-    	
+    public DrawEngine(ImageType images, int x, int y, int scale, int distanceToOtherObjects, SimulatorPane.Objects fence, Terrain terrain, Rectangle2D.Double walkArea, boolean drawWalkArea){
+//        image = Images.ImageType.Snackbar;
+//        x = 100;
+//        y = 100;
+//        scale = 1.0;
     }
     
-    public DrawEngine(Images.ImageType image, int x, int y, double scale, double distanceToOtherObjects, SimulatorPane.Objects objecttype, Terrain terrain, Rectangle2D.Double walkArea, boolean drawWalkArea){
+    public DrawEngine(ImageType image, int x, int y, double scale, double distanceToOtherObjects, SimulatorPane.Objects objecttype, Terrain terrain, Rectangle2D.Double walkArea, boolean drawWalkArea){
     	this.image = image;
         this.type = objecttype;
         this.x = x;

+ 3 - 1
src/gui/simulator/ExitPoint.java

@@ -1,11 +1,13 @@
 package gui.simulator;
 
+import gui.simulator.facilities.ImageType;
+
 import java.awt.geom.Rectangle2D;
 import java.io.Serializable;
 
 public class ExitPoint extends DrawEngine implements Serializable {
 	
-	private static Images.ImageType images = Images.ImageType.Exit;
+	private static ImageType images = ImageType.Exit;
 	private static String facilityName = "Uitgang";
 	private Terrain terrain;
 

+ 12 - 36
src/gui/simulator/Images.java

@@ -1,20 +1,26 @@
 package gui.simulator;
 
 import gui.main.Main;
+import gui.simulator.facilities.ImageType;
 
 import java.awt.TexturePaint;
 import java.awt.Window;
 import java.awt.geom.Rectangle2D;
 import java.awt.image.BufferedImage;
 import java.io.IOException;
+import java.io.Serializable;
 import java.util.ArrayList;
 
 import javax.imageio.ImageIO;
 
-public class Images{
+public class Images implements Serializable{
 
-	public static ArrayList<BufferedImage> images = new ArrayList<BufferedImage>();
-	public static ArrayList<TexturePaint> tp = new ArrayList<TexturePaint>();
+	public transient  static ArrayList<BufferedImage> images = new ArrayList<BufferedImage>();
+	public transient static ArrayList<TexturePaint> tp = new ArrayList<TexturePaint>();
+
+	public Images(){
+		System.out.println("images default constructor");
+	}
 
 	static{
 		try{
@@ -46,9 +52,9 @@ public class Images{
 			images.add(ImageIO.read(Window.class.getResource("/topbar/pauze.png")));
 			//images.add(ImageIO.read(Main.class.getResource("")));
 
-			tp.add(new TexturePaint(Images.getImage(Images.ImageType.Sand), new Rectangle2D.Double(0, 0, 200, 200)));
-			tp.add(new TexturePaint(Images.getImage(Images.ImageType.Grass), new Rectangle2D.Double(0, 0, 200, 200)));
-			tp.add(new TexturePaint(Images.getImage(Images.ImageType.Street), new Rectangle2D.Double(0, 0, 200, 200)));
+			tp.add(new TexturePaint(Images.getImage(ImageType.Sand), new Rectangle2D.Double(0, 0, 200, 200)));
+			tp.add(new TexturePaint(Images.getImage(ImageType.Grass), new Rectangle2D.Double(0, 0, 200, 200)));
+			tp.add(new TexturePaint(Images.getImage(ImageType.Street), new Rectangle2D.Double(0, 0, 200, 200)));
 
 		}catch(IOException e){
 			e.printStackTrace();
@@ -60,36 +66,6 @@ public class Images{
 		return images.get(img.ordinal());
 	}
 
-	public enum ImageType
-	{
-		Sand,
-		Grass,
-		Street,
-		Entrance,
-		Toilet,
-		Tent,
-		Exit,
-		Snackbar,
-		Border,
-		Crosspoint,
-		Tree1,
-		PalmTree1,
-		Fence,
-		Visitor,
-		Add,
-		PathGroundStone,
-		RotateCursor,
-		PathCursor,
-		PathDirt,
-		PathStone,
-		TopbarPlayButton,
-		TopbarStopButton,
-		TopbarFasterButton,
-		TopbarGridButton,
-		TopbarPeopleButton,
-		TopbarPauzeButton
-	}
-
 	public enum TextPaint
 	{
 		TPSand,

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

@@ -1,6 +1,6 @@
 package gui.simulator;
 
-import gui.simulator.Images.ImageType;
+import gui.simulator.facilities.ImageType;
 import gui.simulator.facilities.Fence;
 import gui.simulator.facilities.PalmTree1;
 import gui.simulator.facilities.RestRoom;
@@ -32,7 +32,7 @@ public class Sidebar implements Serializable  {
 	private LinkedHashMap<String, DrawEngine> drawableStages = new LinkedHashMap<String, DrawEngine>();
 	private LinkedHashMap<String, DrawEngine> drawableFacilities = new LinkedHashMap<String, DrawEngine>();
 	private LinkedHashMap<String, DrawEngine> drawableOrnaments = new LinkedHashMap<String, DrawEngine>();
-	private LinkedHashMap<String, Images.ImageType> drawablePaths = new LinkedHashMap<String, Images.ImageType>();
+	private LinkedHashMap<String, ImageType> drawablePaths = new LinkedHashMap<String, ImageType>();
 	private ArrayList<LinkedHashMap<String, DrawEngine>> drawableArrays = new ArrayList<LinkedHashMap<String, DrawEngine>>();
 	public enum SideBarTab{
 		STAGES(0), FACILITIES(1), ORNAMENTS(2), PATHS(3);
@@ -92,9 +92,9 @@ public class Sidebar implements Serializable  {
 		drawableFacilities.put("Wegwijzer", new WayPoint(0, 0, 0.8, 1, this.terrain));
 		
 		//paths
-		drawablePaths.put("Ground-stone", Images.ImageType.PathGroundStone);
-		drawablePaths.put("Dirt", Images.ImageType.PathDirt);
-		drawablePaths.put("Stone", Images.ImageType.PathStone);
+		drawablePaths.put("Ground-stone", ImageType.PathGroundStone);
+		drawablePaths.put("Dirt", ImageType.PathDirt);
+		drawablePaths.put("Stone", ImageType.PathStone);
 		
 		//ornaments
 		drawableOrnaments.put("Tree1", new Tree1(0, 0, 0.7, 1, this.terrain));

+ 3 - 3
src/gui/simulator/SimIo.java

@@ -32,6 +32,7 @@ public class SimIo {
 				output.writeObject(list);
 				output.close();
 			}catch(IOException e){
+				e.printStackTrace();
 				System.out.println("Writing error.  " + e);
 			}
 		}
@@ -59,16 +60,15 @@ public class SimIo {
 			try{
 
 				objectlist = (List<Object>) input.readObject();
-
+				System.out.println("read");
 				input.close();
 				return objectlist;
 			}catch(Exception e){
+				e.printStackTrace();
 				System.out.println("There was a issue reading this file: " + e);
 			}
 		}
 		return null;
-
-
 	}
 }
 

+ 6 - 5
src/gui/simulator/Terrain.java

@@ -2,6 +2,7 @@ package gui.simulator;
 
 import gui.simulator.Images.TextPaint;
 import gui.simulator.SimulatorPane.Objects;
+import gui.simulator.facilities.ImageType;
 import gui.simulator.facilities.SimulatorStage;
 
 import java.awt.BasicStroke;
@@ -59,7 +60,7 @@ public class Terrain extends JPanel {
 	private boolean grid;
 	private ArrayList<Visitor> visitors;
 	private WalkingPathArrayList paths;
-	Cursor rotate, pathpoint;
+	transient Cursor rotate, pathpoint;
 
 	Point2D lastClickPosition;
 	Point lastMousePosition;
@@ -520,18 +521,18 @@ public class Terrain extends JPanel {
 
 	public void createCustomCursors(){
 		Toolkit toolkit = Toolkit.getDefaultToolkit();  
-		Images.ImageType image;
+		ImageType image;
 
-		image = Images.ImageType.RotateCursor;
+		image = ImageType.RotateCursor;
 		rotate = toolkit.createCustomCursor(Images.getImage(image), new Point(14,14), "Rotate");  
 
-		image = Images.ImageType.PathCursor;
+		image = ImageType.PathCursor;
 		pathpoint = toolkit.createCustomCursor(Images.getImage(image), new Point(14,14), "Pathpoint");  
 	}
 	public void toggleGrid(){
 		grid = !grid;
 	}
-	public void newWalkingPath(Images.ImageType imagetype){
+	public void newWalkingPath(ImageType imagetype){
 		if(pathgenerate == 0){
 			currentpath = new WalkingPath(imagetype);
 			pathgenerate = 1;

+ 9 - 6
src/gui/simulator/Topbar.java

@@ -9,14 +9,16 @@ import java.awt.Rectangle;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
 import java.awt.geom.GeneralPath;
+import java.io.Serializable;
 import java.util.Calendar;
 import java.util.GregorianCalendar;
 
 import javax.swing.JDialog;
 
 import agenda.Agenda;
+import gui.simulator.facilities.ImageType;
 
-public class Topbar implements MouseListener {
+public class Topbar implements MouseListener, Serializable {
 	private int oldwidth;
 	private GeneralPath background;
 	private GregorianCalendar time;	
@@ -62,13 +64,13 @@ public class Topbar implements MouseListener {
 		g2.draw(background);
 
 		
-		g2.drawImage(Images.getImage(Images.ImageType.TopbarStopButton), screenwidth/4 + 40, 7, null );
-		g2.drawImage(Images.getImage((!buttonsState[1]) ? Images.ImageType.TopbarPlayButton : Images.ImageType.TopbarPauzeButton), screenwidth/4 + 90, 7, null );
-		g2.drawImage(Images.getImage(Images.ImageType.TopbarFasterButton), screenwidth/4 + 130, 7, null );
+		g2.drawImage(Images.getImage(ImageType.TopbarStopButton), screenwidth/4 + 40, 7, null );
+		g2.drawImage(Images.getImage((!buttonsState[1]) ? ImageType.TopbarPlayButton : ImageType.TopbarPauzeButton), screenwidth/4 + 90, 7, null );
+		g2.drawImage(Images.getImage(ImageType.TopbarFasterButton), screenwidth/4 + 130, 7, null );
         g2.setFont(new Font("Sans-serif", Font.BOLD, 22));
 		g2.drawString(time.get(Calendar.HOUR_OF_DAY) + ":" + getMins(), screenwidth/2-10 , 28);		
-		g2.drawImage(Images.getImage(Images.ImageType.TopbarGridButton), screenwidth/4*3 -60, 7, null );
-		g2.drawImage(Images.getImage(Images.ImageType.TopbarPeopleButton), screenwidth/4*3 -150, 7, null );
+		g2.drawImage(Images.getImage(ImageType.TopbarGridButton), screenwidth/4*3 -60, 7, null );
+		g2.drawImage(Images.getImage(ImageType.TopbarPeopleButton), screenwidth/4*3 -150, 7, null );
         g2.setFont(new Font("Sans-serif", Font.PLAIN, 18));
 		g2.drawString(terrain.getMaxVisitors() + "", screenwidth/4*3 - 120, 27);
 	}
@@ -132,6 +134,7 @@ public class Topbar implements MouseListener {
 			return true;
 		return false;
 	}
+
 	private int clickedButton(Point point){
   		for(int i = 0; i < getButtons().length; i++){
     		if(getButtons()[i].contains(point)){

+ 2 - 1
src/gui/simulator/Visitor.java

@@ -1,5 +1,6 @@
 package gui.simulator;
 
+import gui.simulator.facilities.ImageType;
 import gui.simulator.facilities.SimulatorStage;
 import java.awt.Graphics2D;
 import java.awt.geom.AffineTransform;
@@ -15,7 +16,7 @@ public class Visitor implements Serializable {
 	private int currentpoint;
 	private boolean walkInversed;
 	private double food, drink, pis;
-	Images.ImageType image = Images.ImageType.Visitor;
+	ImageType image = ImageType.Visitor;
 	
 	public Visitor(Point2D positie, Point2D starttarget) {
 		this.positie = positie;

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

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

+ 1 - 1
src/gui/simulator/facilities/Fence.java

@@ -10,7 +10,7 @@ import java.io.Serializable;
 
 public class Fence extends DrawEngine implements Serializable {
 
-	private static Images.ImageType images = Images.ImageType.Fence;
+	private static ImageType images = ImageType.Fence;
 	private static String facilityName = "Fence";
 
     //TODO Make this invisible

+ 35 - 0
src/gui/simulator/facilities/ImageType.java

@@ -0,0 +1,35 @@
+package gui.simulator.facilities;
+
+import java.io.Serializable;
+
+/**
+ * Created by gjoosen on 08/04/15.
+ */
+public enum ImageType implements Serializable {
+    Sand,
+    Grass,
+    Street,
+    Entrance,
+    Toilet,
+    Tent,
+    Exit,
+    Snackbar,
+    Border,
+    Crosspoint,
+    Tree1,
+    PalmTree1,
+    Fence,
+    Visitor,
+    Add,
+    PathGroundStone,
+    RotateCursor,
+    PathCursor,
+    PathDirt,
+    PathStone,
+    TopbarPlayButton,
+    TopbarStopButton,
+    TopbarFasterButton,
+    TopbarGridButton,
+    TopbarPeopleButton,
+    TopbarPauzeButton
+}

+ 1 - 1
src/gui/simulator/facilities/PalmTree1.java

@@ -9,7 +9,7 @@ import java.io.Serializable;
 
 public class PalmTree1 extends DrawEngine implements Serializable {
 
-	private static Images.ImageType images = Images.ImageType.PalmTree1;
+	private static ImageType images = ImageType.PalmTree1;
 	private static String facilityName = "PalmTree1";
 
     public PalmTree1(int x, int y, Terrain terrain) {

+ 1 - 1
src/gui/simulator/facilities/RestRoom.java

@@ -10,7 +10,7 @@ import gui.simulator.Terrain;
 
 public class RestRoom extends DrawEngine implements Serializable {
 
-	private static Images.ImageType images = Images.ImageType.Toilet;
+	private static ImageType images = ImageType.Toilet;
 	private static String facilityName = "Toilet";
 
     //TODO change visibility

+ 1 - 1
src/gui/simulator/facilities/SimulatorStage.java

@@ -15,7 +15,7 @@ import gui.simulator.Terrain;
 
 public class SimulatorStage extends DrawEngine implements Serializable {
 
-	private static Images.ImageType images = Images.ImageType.Tent;
+	private static ImageType images = ImageType.Tent;
 	private static String facilityName = "Stage";
     private Stage stage;
     private Act playingact;

+ 1 - 1
src/gui/simulator/facilities/SnackBar.java

@@ -10,7 +10,7 @@ import gui.simulator.Terrain;
 
 public class SnackBar extends DrawEngine implements Serializable{
 
-	private static Images.ImageType images = Images.ImageType.Snackbar;
+	private static ImageType images = ImageType.Snackbar;
 	private static String facilityName = "Snackbar";
 
     //TODO change visibility

+ 1 - 1
src/gui/simulator/facilities/Tree1.java

@@ -9,7 +9,7 @@ import java.io.Serializable;
 
 public class Tree1 extends DrawEngine implements Serializable {
 
-	private static Images.ImageType images = Images.ImageType.Tree1;
+	private static ImageType images = ImageType.Tree1;
 	private static String facilityName = "Tree1";
 
     public Tree1(int x, int y, Terrain terrain) {

+ 1 - 1
src/gui/simulator/facilities/WayPoint.java

@@ -12,7 +12,7 @@ public class WayPoint extends DrawEngine implements Serializable{
 	private static String facilityName = "WayPoint";
 	
 	public WayPoint(int x, int y, double scale, double distance, Terrain terrain) {
-		super(Images.ImageType.Crosspoint, x, y, scale, 1, SimulatorPane.Objects.WAYPOINT, terrain, null, false);
+		super(ImageType.Crosspoint, x, y, scale, 1, SimulatorPane.Objects.WAYPOINT, terrain, null, false);
 	}
 	
     public String getFacilityName(){