Merge kenneth dev
@@ -42,6 +42,7 @@ public class ControlPanel extends JPanel
|
||||
simulatorPanel.add(simulatorLabel);
|
||||
|
||||
JButton playButton = new JButton("Play");
|
||||
playButton.setFocusable(false);
|
||||
playButton.setFont(new Font("Segoe UI", Font.PLAIN, 20));
|
||||
playButton.addActionListener(new ActionListener(){
|
||||
public void actionPerformed(ActionEvent e)
|
||||
@@ -52,6 +53,7 @@ public class ControlPanel extends JPanel
|
||||
simulatorPanel.add(playButton);
|
||||
|
||||
JButton pauseButton = new JButton("Pause");
|
||||
pauseButton.setFocusable(false);
|
||||
pauseButton.setFont(new Font("Segoe UI", Font.PLAIN, 20));
|
||||
pauseButton.addActionListener(new ActionListener(){
|
||||
public void actionPerformed(ActionEvent e)
|
||||
@@ -62,6 +64,7 @@ public class ControlPanel extends JPanel
|
||||
simulatorPanel.add(pauseButton);
|
||||
|
||||
JButton stopButton = new JButton("Stop");
|
||||
stopButton.setFocusable(false);
|
||||
stopButton.setFont(new Font("Segoe UI", Font.PLAIN, 20));
|
||||
stopButton.addActionListener(new ActionListener(){
|
||||
public void actionPerformed(ActionEvent e)
|
||||
@@ -84,6 +87,7 @@ public class ControlPanel extends JPanel
|
||||
timePanel.add(timeLabel);
|
||||
|
||||
JButton dateButton = new JButton("Pick Date");
|
||||
dateButton.setFocusable(false);
|
||||
dateButton.setFont(new Font("Segoe UI", Font.PLAIN, 20));
|
||||
dateButton.addActionListener(new ActionListener(){
|
||||
public void actionPerformed(ActionEvent e)
|
||||
@@ -106,6 +110,7 @@ public class ControlPanel extends JPanel
|
||||
peoplePanel.add(peopleLabel);
|
||||
|
||||
JButton peopleButton = new JButton("Set People");
|
||||
peopleButton.setFocusable(false);
|
||||
peopleButton.setFont(new Font("Segoe UI", Font.PLAIN, 20));
|
||||
peopleButton.addActionListener(new ActionListener(){
|
||||
public void actionPerformed(ActionEvent e)
|
||||
|
||||
@@ -23,7 +23,7 @@ import javax.swing.JTextField;
|
||||
@SuppressWarnings("serial")
|
||||
public class NewWorldPanel extends JFrame {
|
||||
|
||||
BufferedImage grass,sand,selectedImage;
|
||||
BufferedImage grass,sand,grass2, sand2,stone, selectedImage;
|
||||
|
||||
public NewWorldPanel(Panel topPanel) {
|
||||
super("New World");
|
||||
@@ -32,13 +32,16 @@ public class NewWorldPanel extends JFrame {
|
||||
|
||||
try {
|
||||
grass = ImageIO.read(new File("images/grassIcon.jpg"));
|
||||
sand = ImageIO.read(new File("images/sand.jpg"));
|
||||
sand = ImageIO.read(new File("images/sandIcon.jpg"));
|
||||
grass2 = ImageIO.read(new File("images/grassIcon2.png"));
|
||||
sand2 = ImageIO.read(new File("images/sandIcon2.jpg"));
|
||||
stone = ImageIO.read(new File("images/stoneIcon.jpg"));
|
||||
selectedImage = grass;
|
||||
}
|
||||
catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
String[] terrains = {"Grass", "Sand"};
|
||||
String[] terrains = {"Grass", "Grass 2","Sand", "Sand 2", "Stone"};
|
||||
JPanel mainPanel = new JPanel(new BorderLayout());
|
||||
JButton button;
|
||||
JLabel label;
|
||||
@@ -88,8 +91,17 @@ public class NewWorldPanel extends JFrame {
|
||||
selectedImage = grass;
|
||||
break;
|
||||
case 1:
|
||||
selectedImage = grass2;
|
||||
break;
|
||||
case 2:
|
||||
selectedImage = sand;
|
||||
break;
|
||||
case 3:
|
||||
selectedImage = sand2;
|
||||
break;
|
||||
case 4:
|
||||
selectedImage = stone;
|
||||
break;
|
||||
}
|
||||
imageLabel.setIcon(new ImageIcon(selectedImage));
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ import Objects.Wall;
|
||||
public class Panel extends JPanel implements ActionListener
|
||||
{
|
||||
|
||||
BufferedImage grass, sand;
|
||||
BufferedImage grass, grass2, sand, sand2, stone;
|
||||
BufferedImage background;
|
||||
BufferedImage podiumImage, toiletImage, entranceImage, pathImage, wallImage, foodImage, waypointImage;
|
||||
|
||||
@@ -61,8 +61,8 @@ public class Panel extends JPanel implements ActionListener
|
||||
private DrawObject selectedObject;
|
||||
private String clickedOption = "drag";
|
||||
private Path currentPath;
|
||||
private int width = 1920;
|
||||
private int height = 1080;
|
||||
private static int width = 1920;
|
||||
private static int height = 1080;
|
||||
|
||||
Point2D cameraPoint = new Point2D.Double(getWidth() / 2, getHeight() / 2);
|
||||
float cameraScale = 1;
|
||||
@@ -108,7 +108,10 @@ public class Panel extends JPanel implements ActionListener
|
||||
try
|
||||
{
|
||||
grass = ImageIO.read(new File("images/grass.jpg"));
|
||||
grass2 = ImageIO.read(new File("images/grass2.png"));
|
||||
sand = ImageIO.read(new File("images/sand.jpg"));
|
||||
sand2 = ImageIO.read(new File("images/sand2.jpg"));
|
||||
stone = ImageIO.read(new File("images/stone.jpg"));
|
||||
podiumImage = ImageIO.read(new File("images/stageIcon.png"));
|
||||
toiletImage = ImageIO.read(new File("images/wcIcon.png"));
|
||||
entranceImage = ImageIO.read(new File("images/entranceIcon.png"));
|
||||
@@ -557,12 +560,12 @@ public class Panel extends JPanel implements ActionListener
|
||||
this.agenda = agenda;
|
||||
}
|
||||
|
||||
public int getFieldWidth()
|
||||
public static int getFieldWidth()
|
||||
{
|
||||
return width;
|
||||
}
|
||||
|
||||
public int getFieldHeight()
|
||||
public static int getFieldHeight()
|
||||
{
|
||||
return height;
|
||||
}
|
||||
@@ -612,12 +615,21 @@ public class Panel extends JPanel implements ActionListener
|
||||
cameraScale = 1;
|
||||
switch (terrainIndex)
|
||||
{
|
||||
case 0:
|
||||
background = grass;
|
||||
break;
|
||||
case 1:
|
||||
background = sand;
|
||||
break;
|
||||
case 0:
|
||||
background = grass;
|
||||
break;
|
||||
case 1:
|
||||
background = grass2;
|
||||
break;
|
||||
case 2:
|
||||
background = sand;
|
||||
break;
|
||||
case 3:
|
||||
background = sand2;
|
||||
break;
|
||||
case 4:
|
||||
background = stone;
|
||||
break;
|
||||
}
|
||||
repaint();
|
||||
}
|
||||
|
||||
@@ -98,6 +98,7 @@ public class PropertiesPanel extends JPanel
|
||||
// BUTTONS ROW 1
|
||||
JPanel row1ButtonPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
|
||||
JButton deleteButton = new JButton("Delete");
|
||||
deleteButton.setFocusable(false);
|
||||
deleteButton.setFont(new Font("Segoe UI", Font.PLAIN, 20));
|
||||
deleteButton.addActionListener(new ActionListener()
|
||||
{
|
||||
@@ -112,6 +113,7 @@ public class PropertiesPanel extends JPanel
|
||||
}
|
||||
});
|
||||
JButton areaButton = new JButton("Area");
|
||||
areaButton.setFocusable(false);
|
||||
areaButton.setFont(new Font("Segoe UI", Font.PLAIN, 20));
|
||||
areaButton.addActionListener(new ActionListener()
|
||||
{
|
||||
@@ -331,7 +333,8 @@ public class PropertiesPanel extends JPanel
|
||||
{
|
||||
locationXField.setBackground(Color.WHITE);
|
||||
double xpos = Double.parseDouble(locationXField.getText());
|
||||
selectedObject.setPosition(new Point2D.Double(xpos, selectedObject.getPosition().getY()));
|
||||
selectedObject.setPosition(new Point2D.Double(xpos, selectedObject.getPosition().getY()), true);
|
||||
update();
|
||||
p.update();
|
||||
}
|
||||
catch (NumberFormatException nfe)
|
||||
@@ -370,8 +373,8 @@ public class PropertiesPanel extends JPanel
|
||||
{
|
||||
locationYField.setBackground(Color.WHITE);
|
||||
double ypos = Double.parseDouble(locationYField.getText());
|
||||
selectedObject.setPosition(new Point2D.Double(selectedObject.getPosition().getX(), ypos));
|
||||
;
|
||||
selectedObject.setPosition(new Point2D.Double(selectedObject.getPosition().getX(), ypos), true);
|
||||
update();
|
||||
p.update();
|
||||
}
|
||||
catch (NumberFormatException nfe)
|
||||
|
||||
@@ -27,23 +27,51 @@ public class Keyboard implements KeyListener {
|
||||
}
|
||||
else if(e.getKeyCode() == e.VK_LEFT) {
|
||||
if(panel.getSelectedObject() != null)
|
||||
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX()-5,panel.getSelectedObject().getPosition().getY()));
|
||||
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX()-5,panel.getSelectedObject().getPosition().getY()), true);
|
||||
panel.checkCollision();
|
||||
panel.getPP().update();
|
||||
}
|
||||
else if(e.getKeyCode() == e.VK_RIGHT) {
|
||||
if(panel.getSelectedObject() != null)
|
||||
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX()+5,panel.getSelectedObject().getPosition().getY()));
|
||||
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX()+5,panel.getSelectedObject().getPosition().getY()), true);
|
||||
panel.checkCollision();
|
||||
panel.getPP().update();
|
||||
}
|
||||
else if(e.getKeyCode() == e.VK_UP) {
|
||||
if(panel.getSelectedObject() != null)
|
||||
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX(),panel.getSelectedObject().getPosition().getY()-5));
|
||||
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX(),panel.getSelectedObject().getPosition().getY()-5), true);
|
||||
panel.checkCollision();
|
||||
panel.getPP().update();
|
||||
}
|
||||
else if(e.getKeyCode() == e.VK_DOWN) {
|
||||
if(panel.getSelectedObject() != null)
|
||||
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX(),panel.getSelectedObject().getPosition().getY()+5));
|
||||
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX(),panel.getSelectedObject().getPosition().getY()+5), true);
|
||||
panel.checkCollision();
|
||||
panel.getPP().update();
|
||||
}
|
||||
else if(e.getKeyCode() == e.VK_ADD) {
|
||||
if(panel.getSelectedObject() != null)
|
||||
panel.getSelectedObject().setScale(panel.getSelectedObject().getScale()+0.2);
|
||||
panel.checkCollision();
|
||||
panel.getPP().update();
|
||||
}
|
||||
else if(e.getKeyCode() == e.VK_SUBTRACT) {
|
||||
if(panel.getSelectedObject() != null)
|
||||
panel.getSelectedObject().setScale(Math.max(panel.getSelectedObject().getScale()-0.2, 0.2));
|
||||
panel.checkCollision();
|
||||
panel.getPP().update();
|
||||
}
|
||||
else if(e.getKeyCode() == e.VK_COMMA) {
|
||||
if(panel.getSelectedObject() != null)
|
||||
panel.getSelectedObject().setRotation((panel.getSelectedObject().getRotation()-5)%360);
|
||||
panel.checkCollision();
|
||||
panel.getPP().update();
|
||||
}
|
||||
else if(e.getKeyCode() == e.VK_PERIOD) {
|
||||
if(panel.getSelectedObject() != null)
|
||||
panel.getSelectedObject().setRotation((panel.getSelectedObject().getRotation()+5)%360);
|
||||
panel.checkCollision();
|
||||
panel.getPP().update();
|
||||
}
|
||||
else if(e.getKeyCode() == e.VK_ENTER) {
|
||||
if(panel.getClickedOption().equals("Path")) {
|
||||
|
||||
@@ -135,40 +135,10 @@ public class Mouse extends MouseAdapter
|
||||
|
||||
public void mouseReleased(MouseEvent e)
|
||||
{
|
||||
if (panel.getDragObject() != null)
|
||||
{
|
||||
if (panel.getDragObject().getRectangleColor() != Color.RED)
|
||||
{
|
||||
if (panel.getDragObject() instanceof Entrance)
|
||||
{
|
||||
Rectangle2D rect = panel.getDragObject().getRectangle();
|
||||
double xl = (panel.getFieldWidth() / 2) + rect.getMinX();
|
||||
double xr = panel.getFieldWidth() - xl + rect.getWidth();
|
||||
double yt = (panel.getFieldHeight() / 2) + rect.getMinY();
|
||||
double yb = panel.getFieldHeight() - yt + rect.getHeight();
|
||||
if (xl < xr && xl < yt && xl < yb)
|
||||
{
|
||||
panel.getDragObject().setPosition(new Point2D.Double(-panel.getFieldWidth() / 2, rect.getMinY()));
|
||||
}
|
||||
else if (xr < xl && xr < yt && xr < yb)
|
||||
{
|
||||
panel.getDragObject().setPosition(new Point2D.Double(panel.getFieldWidth() / 2 - rect.getWidth(), rect.getMinY()));
|
||||
}
|
||||
else if (yt < xl && yt < xr && yt < yb)
|
||||
{
|
||||
panel.getDragObject().setPosition(new Point2D.Double(rect.getMinX(), -panel.getFieldHeight() / 2));
|
||||
}
|
||||
else if (yb < xl && yb < yt && yb < xr)
|
||||
{
|
||||
panel.getDragObject().setPosition(new Point2D.Double(rect.getMinX(), panel.getFieldHeight() / 2 - rect.getHeight()));
|
||||
}
|
||||
else
|
||||
{
|
||||
panel.getDragObject().setPosition(new Point2D.Double(-panel.getFieldWidth() / 2, -panel.getFieldHeight() / 2));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(panel.getDragObject() != null) {
|
||||
if(panel.getDragObject().getRectangleColor() != Color.RED) {
|
||||
panel.getDragObject().setPosition(panel.getDragObject().getPosition(), true);
|
||||
panel.getPP().update();
|
||||
panel.setDragObject(null);
|
||||
panel.setClickedOption("drag");
|
||||
}
|
||||
|
||||
@@ -234,6 +234,10 @@ public abstract class DrawObject implements Serializable
|
||||
{
|
||||
this.position = position;
|
||||
}
|
||||
public void setPosition(Point2D position, boolean b)
|
||||
{
|
||||
this.position = position;
|
||||
}
|
||||
|
||||
public double getRotation()
|
||||
{
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package Objects;
|
||||
|
||||
import java.awt.geom.Point2D;
|
||||
import java.awt.geom.Rectangle2D;
|
||||
|
||||
import Applicatie.Panel;
|
||||
|
||||
public class Entrance extends DrawObject
|
||||
{
|
||||
@@ -15,5 +18,35 @@ public class Entrance extends DrawObject
|
||||
{
|
||||
return "Entrance";
|
||||
}
|
||||
|
||||
public void setPosition(Point2D position, boolean b)
|
||||
{
|
||||
//this.position = position;
|
||||
Rectangle2D rect = getRectangle();
|
||||
double xl = (Panel.getFieldWidth()/2) + rect.getMinX();
|
||||
double xr = Panel.getFieldWidth() - (Panel.getFieldWidth()/2 + rect.getMaxX());
|
||||
double yt = (Panel.getFieldHeight()/2) + rect.getMinY();
|
||||
double yb = Panel.getFieldHeight() - (Panel.getFieldHeight()/2 + rect.getMaxY());
|
||||
if(xl < xr && xl < yt && xl < yb)
|
||||
{
|
||||
this.position = new Point2D.Double(-Panel.getFieldWidth()/2, position.getY());
|
||||
}
|
||||
else if(xr < xl && xr < yt && xr < yb)
|
||||
{
|
||||
this.position = new Point2D.Double(Panel.getFieldWidth()/2 - rect.getWidth(), position.getY());
|
||||
}
|
||||
else if(yt < xl && yt < xr && yt < yb)
|
||||
{
|
||||
this.position = new Point2D.Double(position.getX(), -Panel.getFieldHeight()/2);
|
||||
}
|
||||
else if(yb < xl && yb < yt && yb < xr)
|
||||
{
|
||||
this.position = new Point2D.Double(position.getX(), Panel.getFieldHeight()/2 - rect.getHeight());
|
||||
}
|
||||
else
|
||||
{
|
||||
this.position = new Point2D.Double(-Panel.getFieldWidth()/2, -Panel.getFieldHeight()/2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 180 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 202 KiB |
|
After Width: | Height: | Size: 6.8 KiB |