mirror of
				https://github.com/ynerant/Level-Editor.git
				synced 2025-11-04 07:52:10 +01:00 
			
		
		
		
	Fixé problème de scroll dans l'éditeur
This commit is contained in:
		@@ -9,10 +9,16 @@ import galaxyoyo.unknown.api.editor.sprites.SpriteRegister;
 | 
				
			|||||||
import galaxyoyo.unknown.frame.MainFrame;
 | 
					import galaxyoyo.unknown.frame.MainFrame;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.awt.Color;
 | 
					import java.awt.Color;
 | 
				
			||||||
 | 
					import java.awt.Desktop;
 | 
				
			||||||
import java.awt.Graphics2D;
 | 
					import java.awt.Graphics2D;
 | 
				
			||||||
 | 
					import java.awt.GraphicsEnvironment;
 | 
				
			||||||
 | 
					import java.awt.HeadlessException;
 | 
				
			||||||
import java.awt.image.BufferedImage;
 | 
					import java.awt.image.BufferedImage;
 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
 | 
					import java.net.URISyntaxException;
 | 
				
			||||||
 | 
					import java.net.URL;
 | 
				
			||||||
import java.util.Locale;
 | 
					import java.util.Locale;
 | 
				
			||||||
 | 
					import java.util.Map;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import javax.swing.JOptionPane;
 | 
					import javax.swing.JOptionPane;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -24,7 +30,6 @@ import org.apache.logging.log4j.Level;
 | 
				
			|||||||
import org.apache.logging.log4j.LogManager;
 | 
					import org.apache.logging.log4j.LogManager;
 | 
				
			||||||
import org.apache.logging.log4j.core.Logger;
 | 
					import org.apache.logging.log4j.core.Logger;
 | 
				
			||||||
import org.apache.logging.log4j.core.appender.ConsoleAppender;
 | 
					import org.apache.logging.log4j.core.appender.ConsoleAppender;
 | 
				
			||||||
import org.apache.logging.log4j.core.appender.FileAppender;
 | 
					 | 
				
			||||||
import org.apache.logging.log4j.core.layout.PatternLayout;
 | 
					import org.apache.logging.log4j.core.layout.PatternLayout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
@@ -59,17 +64,16 @@ public class Main
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		Locale.setDefault(Locale.FRANCE);
 | 
							Locale.setDefault(Locale.FRANCE);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		DEV = Main.class.getResource("/META-INF/MANIFEST.MF") == null;
 | 
							DEV = Main.class.getClassLoader().getResource("/META-INF/MANIFEST.MF") == null;
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		Logger LOGGER = (Logger) LogManager.getRootLogger();
 | 
							Logger LOGGER = (Logger) LogManager.getRootLogger();
 | 
				
			||||||
		ConsoleAppender console = ConsoleAppender.newBuilder().setLayout(PatternLayout.newBuilder().withPattern("[%d{dd/MM/yyyy}] [%d{HH:mm:ss}] [%t] [%c] [%p] %m%n").build()).setName("Console").build();
 | 
							ConsoleAppender console = ConsoleAppender.newBuilder().setLayout(PatternLayout.newBuilder().withPattern("[%d{dd/MM/yyyy}] [%d{HH:mm:ss}] [%t] [%c] [%p] %m%n").build()).setName("Console").build();
 | 
				
			||||||
		FileAppender file = FileAppender.createAppender("Console.log", "false", "false", "File", "true", "true", "true", "8192", PatternLayout.newBuilder().withPattern("[%d{dd/MM/yyyy}] [%d{HH:mm:ss}] [%t] [%c] [%p] %m%n").build(), null, "false", "false", null);
 | 
					 | 
				
			||||||
		console.start();
 | 
							console.start();
 | 
				
			||||||
		file.start();
 | 
					 | 
				
			||||||
		LOGGER.addAppender(console);
 | 
							LOGGER.addAppender(console);
 | 
				
			||||||
		LOGGER.addAppender(file);
 | 
					 | 
				
			||||||
		LOGGER.setLevel(Level.INFO);
 | 
							LOGGER.setLevel(Level.INFO);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
 | 
							checkJava();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
		OptionParser parser = new OptionParser();
 | 
							OptionParser parser = new OptionParser();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		OptionSpec<String> edit = parser.accepts("edit", "Lancer l'\u00e9diteur de monde").withOptionalArg();
 | 
							OptionSpec<String> edit = parser.accepts("edit", "Lancer l'\u00e9diteur de monde").withOptionalArg();
 | 
				
			||||||
@@ -114,7 +118,41 @@ public class Main
 | 
				
			|||||||
		
 | 
							
 | 
				
			||||||
		launchFrame();
 | 
							launchFrame();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
						private static void checkJava()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							if (GraphicsEnvironment.isHeadless())
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								HeadlessException ex = new HeadlessException("Impossible de lancer un jeu sans \u00e9cran !");
 | 
				
			||||||
 | 
								LogManager.getLogger("JAVAX-SWING").fatal("Cette application est un jeu, sans écran, elle aura du mal \u00e0 tourner ...");
 | 
				
			||||||
 | 
								LogManager.getLogger("JAVAX-SWING").catching(Level.FATAL, ex);
 | 
				
			||||||
 | 
								System.exit(1);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							try
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								Map.class.getDeclaredMethod("getOrDefault", Object.class, Object.class);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							catch (NoSuchMethodException ex)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								ex.printStackTrace();
 | 
				
			||||||
 | 
								JOptionPane.showMessageDialog(null, "<html>Cette application requiert <strong>Java 8</strong>.<br />La page de t\u00e9l\u00e9chargement va maintenant s'ouvrir.</html>");
 | 
				
			||||||
 | 
								JOptionPane.showMessageDialog(null, "<html>Si vous êtes certain que Java 8 est installé sur votre machine, assurez-vous qu'il n'y a pas de versions obsolètes de Java,<br />ou si vous êtes plus expérimentés si le path vers Java est bien défini vers la bonne version.</html>");
 | 
				
			||||||
 | 
								try
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									if (Desktop.isDesktopSupported())
 | 
				
			||||||
 | 
										Desktop.getDesktop().browse(new URL("http://java.com/download").toURI());
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
										JOptionPane.showMessageDialog(null, "<html>Votre machine ne supporte pas la classe Desktop, impossible d'ouvrir la page.<br />Rendez-vous y manuellement sur <a href=\"http://java.com/download\">http://java.com/download</a> pour installer Java.</html>");
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								catch (IOException | URISyntaxException e)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									e.printStackTrace();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								System.exit(1);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Lance la fenêtre principale
 | 
						 * Lance la fenêtre principale
 | 
				
			||||||
	 * @see #main(String...)
 | 
						 * @see #main(String...)
 | 
				
			||||||
@@ -195,8 +233,6 @@ public class Main
 | 
				
			|||||||
		RawMap rm = EditorAPI.toRawMap(baseWidth, baseHeight);
 | 
							RawMap rm = EditorAPI.toRawMap(baseWidth, baseHeight);
 | 
				
			||||||
		rm.setFont(image);
 | 
							rm.setFont(image);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		EditorAPI.saveAs(rm);
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		EditorAPI.open(rm);
 | 
							EditorAPI.open(rm);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,6 +19,7 @@ import java.awt.event.ActionListener;
 | 
				
			|||||||
import java.awt.event.KeyEvent;
 | 
					import java.awt.event.KeyEvent;
 | 
				
			||||||
import java.awt.event.WindowEvent;
 | 
					import java.awt.event.WindowEvent;
 | 
				
			||||||
import java.awt.event.WindowListener;
 | 
					import java.awt.event.WindowListener;
 | 
				
			||||||
 | 
					import java.awt.image.BufferedImage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import javax.swing.ImageIcon;
 | 
					import javax.swing.ImageIcon;
 | 
				
			||||||
import javax.swing.JFrame;
 | 
					import javax.swing.JFrame;
 | 
				
			||||||
@@ -29,6 +30,7 @@ import javax.swing.JOptionPane;
 | 
				
			|||||||
import javax.swing.JPanel;
 | 
					import javax.swing.JPanel;
 | 
				
			||||||
import javax.swing.JScrollPane;
 | 
					import javax.swing.JScrollPane;
 | 
				
			||||||
import javax.swing.JTabbedPane;
 | 
					import javax.swing.JTabbedPane;
 | 
				
			||||||
 | 
					import javax.swing.KeyStroke;
 | 
				
			||||||
import javax.swing.event.ChangeEvent;
 | 
					import javax.swing.event.ChangeEvent;
 | 
				
			||||||
import javax.swing.event.ChangeListener;
 | 
					import javax.swing.event.ChangeListener;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -40,17 +42,19 @@ public class EditorFrame extends JFrame implements ChangeListener, ActionListene
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
	private final JPanel content = new JPanel();
 | 
						private final JPanel content = new JPanel();
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	private JMenuBar menuBar = new JMenuBar();
 | 
						private final JMenuBar menuBar = new JMenuBar();
 | 
				
			||||||
	private JMenu fichier = new JMenu("Fichier");
 | 
						private final JMenu fichier = new JMenu("Fichier");
 | 
				
			||||||
	private JMenuItem nouveau = new JMenuItem("Nouveau");
 | 
						private final JMenu tools = new JMenu("Outils");
 | 
				
			||||||
	private JMenuItem open = new JMenuItem("Ouvrir");
 | 
						private final JMenuItem nouveau = new JMenuItem("Nouveau");
 | 
				
			||||||
	private JMenuItem save = new JMenuItem("Sauvegarder");
 | 
						private final JMenuItem open = new JMenuItem("Ouvrir");
 | 
				
			||||||
	private JMenuItem saveAs = new JMenuItem("Sauvegarder sous ...");
 | 
						private final JMenuItem save = new JMenuItem("Sauvegarder");
 | 
				
			||||||
	private JMenuItem exit = new JMenuItem("Quitter");
 | 
						private final JMenuItem saveAs = new JMenuItem("Sauvegarder sous ...");
 | 
				
			||||||
 | 
						private final JMenuItem exit = new JMenuItem("Quitter");
 | 
				
			||||||
 | 
						private final JMenu selectionMode = new JMenu("Mode de s\u00e9lection");
 | 
				
			||||||
	private final JTabbedPane tabs = new JTabbedPane();
 | 
						private final JTabbedPane tabs = new JTabbedPane();
 | 
				
			||||||
	private final JPanel tabEvents = new JPanel();
 | 
						private final JPanel tabEvents = new JPanel();
 | 
				
			||||||
	private final CollidPanel tabColl = new CollidPanel(this);
 | 
						private final CollidPanel tabColl;
 | 
				
			||||||
	private final MapPanel mapPanel = new MapPanel(this);
 | 
						private final MapPanel mapPanel;
 | 
				
			||||||
	private final JTabbedPane resources = new JTabbedPane();
 | 
						private final JTabbedPane resources = new JTabbedPane();
 | 
				
			||||||
	private final JPanel couche1 = new JPanel();
 | 
						private final JPanel couche1 = new JPanel();
 | 
				
			||||||
	private final JPanel couche2 = new JPanel();
 | 
						private final JPanel couche2 = new JPanel();
 | 
				
			||||||
@@ -71,43 +75,60 @@ public class EditorFrame extends JFrame implements ChangeListener, ActionListene
 | 
				
			|||||||
		this.setVisible(true);
 | 
							this.setVisible(true);
 | 
				
			||||||
		this.setVisible(false);
 | 
							this.setVisible(false);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		nouveau.setMnemonic(KeyEvent.CTRL_DOWN_MASK + KeyEvent.VK_N);
 | 
							fichier.setMnemonic(KeyEvent.VK_F + KeyEvent.ALT_DOWN_MASK);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							nouveau.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_DOWN_MASK, true));
 | 
				
			||||||
		nouveau.addActionListener(new CreateMapListener());
 | 
							nouveau.addActionListener(new CreateMapListener());
 | 
				
			||||||
		fichier.add(nouveau);
 | 
							fichier.add(nouveau);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		open.setMnemonic(KeyEvent.CTRL_DOWN_MASK + KeyEvent.VK_O);
 | 
							open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_DOWN_MASK, true));
 | 
				
			||||||
		open.addActionListener(new OpenMapListener());
 | 
							open.addActionListener(new OpenMapListener());
 | 
				
			||||||
		fichier.add(open);
 | 
							fichier.add(open);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		fichier.addSeparator();
 | 
							fichier.addSeparator();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		save.setMnemonic(KeyEvent.CTRL_DOWN_MASK + KeyEvent.VK_S);
 | 
							save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_DOWN_MASK, true));
 | 
				
			||||||
		save.addActionListener(this);
 | 
							save.addActionListener(this);
 | 
				
			||||||
		fichier.add(save);
 | 
							fichier.add(save);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		saveAs.setMnemonic(KeyEvent.CTRL_DOWN_MASK + KeyEvent.SHIFT_MASK + KeyEvent.VK_S);
 | 
							saveAs.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_DOWN_MASK + KeyEvent.SHIFT_DOWN_MASK, true));
 | 
				
			||||||
		saveAs.addActionListener(this);
 | 
							saveAs.addActionListener(this);
 | 
				
			||||||
		fichier.add(saveAs);
 | 
							fichier.add(saveAs);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		fichier.addSeparator();
 | 
							fichier.addSeparator();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		exit.setMnemonic(KeyEvent.CTRL_DOWN_MASK + KeyEvent.VK_Q);
 | 
							exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, KeyEvent.CTRL_DOWN_MASK, true));
 | 
				
			||||||
		exit.addActionListener(this);
 | 
							exit.addActionListener(this);
 | 
				
			||||||
		fichier.add(exit);
 | 
							fichier.add(exit);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		menuBar.add(fichier);
 | 
							menuBar.add(fichier);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							tools.setMnemonic(KeyEvent.VK_O + KeyEvent.ALT_DOWN_MASK);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							tools.add(selectionMode);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							menuBar.add(tools);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		this.setJMenuBar(menuBar);
 | 
							this.setJMenuBar(menuBar);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
 | 
							mapPanel = new MapPanel(this);
 | 
				
			||||||
		mapPanel.addMouseListener(new MapMouseListener(mapPanel, this));
 | 
							mapPanel.addMouseListener(new MapMouseListener(mapPanel, this));
 | 
				
			||||||
		mapPanel.addMouseMotionListener(new MapMouseListener(mapPanel, this));
 | 
							mapPanel.addMouseMotionListener(new MapMouseListener(mapPanel, this));
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
 | 
							tabColl = new CollidPanel(this);
 | 
				
			||||||
		tabColl.addMouseListener(new CollidMapMouseListener(tabColl, this));
 | 
							tabColl.addMouseListener(new CollidMapMouseListener(tabColl, this));
 | 
				
			||||||
		tabColl.addMouseMotionListener(new CollidMapMouseListener(tabColl, this));
 | 
							tabColl.addMouseMotionListener(new CollidMapMouseListener(tabColl, this));
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		tabs.addTab("Carte", new JScrollPane(mapPanel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED));
 | 
							JScrollPane scrollMap = new JScrollPane(mapPanel);
 | 
				
			||||||
 | 
							scrollMap.getHorizontalScrollBar().setUnitIncrement(34);
 | 
				
			||||||
 | 
							scrollMap.getVerticalScrollBar().setUnitIncrement(34);
 | 
				
			||||||
 | 
							JScrollPane scrollCollidMap = new JScrollPane(tabColl);
 | 
				
			||||||
 | 
							scrollCollidMap.getHorizontalScrollBar().setUnitIncrement(34);
 | 
				
			||||||
 | 
							scrollCollidMap.getVerticalScrollBar().setUnitIncrement(34);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							tabs.addTab("Carte", scrollMap);
 | 
				
			||||||
		tabs.addTab("\u00c9vennments", new JScrollPane(tabEvents));
 | 
							tabs.addTab("\u00c9vennments", new JScrollPane(tabEvents));
 | 
				
			||||||
		tabs.addTab("Collisions", new JScrollPane(tabColl));
 | 
							tabs.addTab("Collisions", scrollCollidMap);
 | 
				
			||||||
		tabs.addChangeListener(this);
 | 
							tabs.addChangeListener(this);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		content.add(tabs, BorderLayout.CENTER);
 | 
							content.add(tabs, BorderLayout.CENTER);
 | 
				
			||||||
@@ -189,8 +210,13 @@ public class EditorFrame extends JFrame implements ChangeListener, ActionListene
 | 
				
			|||||||
		int cursorPos = ((JScrollPane) resources.getSelectedComponent()).getVerticalScrollBar().getValue();
 | 
							int cursorPos = ((JScrollPane) resources.getSelectedComponent()).getVerticalScrollBar().getValue();
 | 
				
			||||||
		tabs.setPreferredSize(new Dimension(getWidth(), getHeight() / 5));
 | 
							tabs.setPreferredSize(new Dimension(getWidth(), getHeight() / 5));
 | 
				
			||||||
		tabs.setLocation(0, 0);
 | 
							tabs.setLocation(0, 0);
 | 
				
			||||||
		mapPanel.setPreferredSize(new Dimension(getWidth() / 4 * 3, getHeight() / 5 * 4));
 | 
							BufferedImage img = getMap().getFont();
 | 
				
			||||||
 | 
							int width = img.getWidth() * 2;
 | 
				
			||||||
 | 
							int height = img.getHeight() * 2;
 | 
				
			||||||
 | 
							mapPanel.setPreferredSize(new Dimension(width, height));
 | 
				
			||||||
		mapPanel.setLocation(0, getHeight() / 5);
 | 
							mapPanel.setLocation(0, getHeight() / 5);
 | 
				
			||||||
 | 
							tabColl.setPreferredSize(new Dimension(width, height));
 | 
				
			||||||
 | 
							tabColl.setLocation(0, getHeight() / 5);
 | 
				
			||||||
		resources.setPreferredSize(new Dimension(getWidth() / 4 - 15, getHeight() / 5 * 4 - 40));
 | 
							resources.setPreferredSize(new Dimension(getWidth() / 4 - 15, getHeight() / 5 * 4 - 40));
 | 
				
			||||||
		resources.setLocation(getWidth() / 4 * 3, getHeight() / 5);
 | 
							resources.setLocation(getWidth() / 4 * 3, getHeight() / 5);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,8 +12,8 @@ public class SpriteComp extends JComponent
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	private static final long serialVersionUID = -6512257366877053285L;
 | 
						private static final long serialVersionUID = -6512257366877053285L;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	private final Sprite sprite;
 | 
						private Sprite sprite;
 | 
				
			||||||
	private final int couche;
 | 
						private int couche;
 | 
				
			||||||
	private boolean selected;
 | 
						private boolean selected;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public SpriteComp(Sprite sprite, int couche)
 | 
						public SpriteComp(Sprite sprite, int couche)
 | 
				
			||||||
@@ -34,11 +34,21 @@ public class SpriteComp extends JComponent
 | 
				
			|||||||
		return sprite;
 | 
							return sprite;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						public void setSprite(Sprite s)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							this.sprite = s;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	public int getCouche()
 | 
						public int getCouche()
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		return couche;
 | 
							return couche;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						public void setCouche(int couche)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							this.couche = couche;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	public boolean isSelected()
 | 
						public boolean isSelected()
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		return selected;
 | 
							return selected;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,7 @@ import galaxyoyo.unknown.frame.listeners.CreateMapListener;
 | 
				
			|||||||
import galaxyoyo.unknown.frame.listeners.OpenMapListener;
 | 
					import galaxyoyo.unknown.frame.listeners.OpenMapListener;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.awt.Dimension;
 | 
					import java.awt.Dimension;
 | 
				
			||||||
 | 
					import java.awt.event.KeyEvent;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import javax.swing.JFrame;
 | 
					import javax.swing.JFrame;
 | 
				
			||||||
import javax.swing.JMenu;
 | 
					import javax.swing.JMenu;
 | 
				
			||||||
@@ -43,7 +44,6 @@ public class MainFrame extends JFrame
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
	private JMenuBar menuBar = new JMenuBar();
 | 
						private JMenuBar menuBar = new JMenuBar();
 | 
				
			||||||
	private JMenu fichier = new JMenu("Fichier");
 | 
						private JMenu fichier = new JMenu("Fichier");
 | 
				
			||||||
	private JMenu editer = new JMenu("\u00c9diter");
 | 
					 | 
				
			||||||
	private JMenu editMaps = new JMenu("Cartes");
 | 
						private JMenu editMaps = new JMenu("Cartes");
 | 
				
			||||||
	private JMenuItem createMap = new JMenuItem("Cr\u00e9er");
 | 
						private JMenuItem createMap = new JMenuItem("Cr\u00e9er");
 | 
				
			||||||
	private JMenuItem openMap = new JMenuItem("Ouvrir");
 | 
						private JMenuItem openMap = new JMenuItem("Ouvrir");
 | 
				
			||||||
@@ -63,15 +63,16 @@ public class MainFrame extends JFrame
 | 
				
			|||||||
		this.setExtendedState(JFrame.MAXIMIZED_BOTH);
 | 
							this.setExtendedState(JFrame.MAXIMIZED_BOTH);
 | 
				
			||||||
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 | 
							this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		menuBar.add(fichier);
 | 
							fichier.setMnemonic(KeyEvent.VK_F + KeyEvent.ALT_DOWN_MASK);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		createMap.addActionListener(new CreateMapListener());
 | 
							createMap.addActionListener(new CreateMapListener());
 | 
				
			||||||
		editMaps.add(createMap);
 | 
							editMaps.add(createMap);
 | 
				
			||||||
		openMap.addActionListener(new OpenMapListener());
 | 
							openMap.addActionListener(new OpenMapListener());
 | 
				
			||||||
		editMaps.add(openMap);
 | 
							editMaps.add(openMap);
 | 
				
			||||||
		editer.add(editMaps);
 | 
					 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		menuBar.add(editer);
 | 
							fichier.add(editMaps);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							menuBar.add(fichier);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		this.setJMenuBar(menuBar);
 | 
							this.setJMenuBar(menuBar);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,7 +6,6 @@ import galaxyoyo.unknown.editor.CollidPanel;
 | 
				
			|||||||
import galaxyoyo.unknown.editor.EditorFrame;
 | 
					import galaxyoyo.unknown.editor.EditorFrame;
 | 
				
			||||||
import galaxyoyo.unknown.editor.Map;
 | 
					import galaxyoyo.unknown.editor.Map;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.awt.Cursor;
 | 
					 | 
				
			||||||
import java.awt.event.MouseAdapter;
 | 
					import java.awt.event.MouseAdapter;
 | 
				
			||||||
import java.awt.event.MouseEvent;
 | 
					import java.awt.event.MouseEvent;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,24 +24,6 @@ public class CollidMapMouseListener extends MouseAdapter
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		return frame;
 | 
							return frame;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					 | 
				
			||||||
	@Override
 | 
					 | 
				
			||||||
	public void mouseMoved(MouseEvent event)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		Map map = getFrame().getMap();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		int x = panel.getWidth() / 2 - map.getFont().getWidth();
 | 
					 | 
				
			||||||
		int y = panel.getHeight() / 2 - map.getFont().getHeight();
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		if (map.getCase((event.getX() - x - 2) / 34, (event.getY() - y - 2) / 34) != null && event.getX() - x >= 2 && event.getY() - y >= 2)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			getFrame().setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		else
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			getFrame().setCursor(Cursor.getDefaultCursor());
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public void mouseReleased(MouseEvent event)
 | 
						public void mouseReleased(MouseEvent event)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,6 +4,7 @@
 | 
				
			|||||||
package galaxyoyo.unknown.frame.listeners;
 | 
					package galaxyoyo.unknown.frame.listeners;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import galaxyoyo.unknown.client.main.Main;
 | 
					import galaxyoyo.unknown.client.main.Main;
 | 
				
			||||||
 | 
					import galaxyoyo.unknown.frame.MainFrame;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.awt.event.ActionEvent;
 | 
					import java.awt.event.ActionEvent;
 | 
				
			||||||
import java.awt.event.ActionListener;
 | 
					import java.awt.event.ActionListener;
 | 
				
			||||||
@@ -20,5 +21,6 @@ public class CreateMapListener implements ActionListener
 | 
				
			|||||||
	public void actionPerformed(ActionEvent event)
 | 
						public void actionPerformed(ActionEvent event)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		Main.main("--edit", Main.isInDebugMode() ? " --debug true" : "");
 | 
							Main.main("--edit", Main.isInDebugMode() ? " --debug true" : "");
 | 
				
			||||||
 | 
							MainFrame.getInstance().dispose();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,6 @@ import galaxyoyo.unknown.editor.EditorFrame;
 | 
				
			|||||||
import galaxyoyo.unknown.editor.Map;
 | 
					import galaxyoyo.unknown.editor.Map;
 | 
				
			||||||
import galaxyoyo.unknown.editor.MapPanel;
 | 
					import galaxyoyo.unknown.editor.MapPanel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.awt.Cursor;
 | 
					 | 
				
			||||||
import java.awt.event.MouseAdapter;
 | 
					import java.awt.event.MouseAdapter;
 | 
				
			||||||
import java.awt.event.MouseEvent;
 | 
					import java.awt.event.MouseEvent;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -24,24 +23,6 @@ public class MapMouseListener extends MouseAdapter
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		return frame;
 | 
							return frame;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					 | 
				
			||||||
	@Override
 | 
					 | 
				
			||||||
	public void mouseMoved(MouseEvent event)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		Map map = getFrame().getMap();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		int x = panel.getWidth() / 2 - map.getFont().getWidth();
 | 
					 | 
				
			||||||
		int y = panel.getHeight() / 2 - map.getFont().getHeight();
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		if (map.getCase((event.getX() - x - 2) / 34, (event.getY() - y - 2) / 34) != null && event.getX() - x >= 2 && event.getY() - y >= 2)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			getFrame().setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		else
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			getFrame().setCursor(Cursor.getDefaultCursor());
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public void mouseReleased(MouseEvent event)
 | 
						public void mouseReleased(MouseEvent event)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
package galaxyoyo.unknown.frame.listeners;
 | 
					package galaxyoyo.unknown.frame.listeners;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import galaxyoyo.unknown.api.editor.EditorAPI;
 | 
					import galaxyoyo.unknown.api.editor.EditorAPI;
 | 
				
			||||||
 | 
					import galaxyoyo.unknown.frame.MainFrame;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.awt.event.ActionEvent;
 | 
					import java.awt.event.ActionEvent;
 | 
				
			||||||
import java.awt.event.ActionListener;
 | 
					import java.awt.event.ActionListener;
 | 
				
			||||||
@@ -13,6 +14,7 @@ public class OpenMapListener implements ActionListener
 | 
				
			|||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public void actionPerformed(ActionEvent event)
 | 
						public void actionPerformed(ActionEvent event)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		EditorAPI.open();
 | 
							if (EditorAPI.open() != null)
 | 
				
			||||||
 | 
								MainFrame.getInstance().dispose();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user