package fr.lyrgard.hexScape.gui.desktop;
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Dimension;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
import com.jme3.app.SimpleApplication;
import com.jme3.system.AppSettings;
import com.jme3.system.JmeCanvasContext;
import fr.lyrgard.hexScape.HexScapeCore;
import fr.lyrgard.hexScape.bus.CoreMessageBus;
import fr.lyrgard.hexScape.gui.desktop.technical.SwingContext;
import fr.lyrgard.hexScape.gui.desktop.view.common.View3d;
import fr.lyrgard.hexScape.message.DisconnectFromServerMessage;
public class HexScapeDesktopGui {
public static void main(String[] args){
final HexScapeCore core = HexScapeCore.getInstance();
final SimpleApplication app = core.getHexScapeJme3Application();
AppSettings settings = new AppSettings(true);
//settings.setCustomRenderer(SwingContext.class);
settings.setFrameRate(60);
settings.setWidth(102);
settings.setWidth(77);
app.setShowSettings(false);
app.setSettings(settings);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
app.createCanvas();
JmeCanvasContext ctx = (JmeCanvasContext) app.getContext();
ctx.setSystemListener(app);
Dimension dim = new Dimension(640, 480);
ctx.getCanvas().setPreferredSize(dim);
new HexScapeFrame(new View3d(ctx.getCanvas()));
app.startCanvas();
// app.getHexScapeJme3Application().createCanvas();
//
// final SwingContext ctx = (SwingContext)app.getHexScapeJme3Application().getContext();
//
// ctx.setSystemListener(app.getHexScapeJme3Application());
//
// final Canvas panel3d = ctx.getCanvas();
//
// Dimension dim = new Dimension(102, 77);
// panel3d.setMinimumSize(dim);
// panel3d.setEnabled(false);
//
// app.getHexScapeJme3Application().startCanvas();
//
// new HexScapeFrame(new View3d(panel3d));
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
}
});
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
public void run() {
DisconnectFromServerMessage message = new DisconnectFromServerMessage();
CoreMessageBus.post(message);
}
}, "Disconnect from server"));
}
}