mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 02:38:02 +00:00
104 lines
3.1 KiB
Java
104 lines
3.1 KiB
Java
package forge.app;
|
|
|
|
import java.awt.Desktop;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
|
|
import com.badlogic.gdx.Gdx;
|
|
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
|
|
import com.badlogic.gdx.backends.lwjgl.LwjglClipboard;
|
|
|
|
import forge.Forge;
|
|
import forge.assets.AssetsDownloader;
|
|
import forge.interfaces.IDeviceAdapter;
|
|
import forge.util.FileUtil;
|
|
import forge.util.RestartUtil;
|
|
import forge.util.Utils;
|
|
|
|
public class Main {
|
|
public static void main(String[] args) {
|
|
String assetsDir = AssetsDownloader.SHARE_DESKTOP_ASSETS ? "../forge-gui/" : "testAssets/";
|
|
if (!AssetsDownloader.SHARE_DESKTOP_ASSETS) {
|
|
FileUtil.ensureDirectoryExists(assetsDir);
|
|
}
|
|
|
|
String switchOrientationFile = assetsDir + "switch_orientation.ini";
|
|
boolean landscapeMode = FileUtil.doesFileExist(switchOrientationFile);
|
|
int screenWidth = landscapeMode ? (int)(Utils.BASE_HEIGHT * 16 / 9) : (int)Utils.BASE_WIDTH;
|
|
int screenHeight = (int)Utils.BASE_HEIGHT;
|
|
|
|
new LwjglApplication(Forge.getApp(new LwjglClipboard(), new DesktopAdapter(switchOrientationFile),
|
|
assetsDir), "Forge", screenWidth, screenHeight);
|
|
}
|
|
|
|
private static class DesktopAdapter implements IDeviceAdapter {
|
|
private final String switchOrientationFile;
|
|
|
|
private DesktopAdapter(String switchOrientationFile0) {
|
|
switchOrientationFile = switchOrientationFile0;
|
|
}
|
|
|
|
//just assume desktop always connected to wifi
|
|
@Override
|
|
public boolean isConnectedToInternet() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean isConnectedToWifi() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public String getDownloadsDir() {
|
|
return System.getProperty("user.home") + "/Downloads/";
|
|
}
|
|
|
|
@Override
|
|
public boolean openFile(String filename) {
|
|
try {
|
|
Desktop.getDesktop().open(new File(filename));
|
|
return true;
|
|
}
|
|
catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public void restart() {
|
|
if (RestartUtil.prepareForRestart()) {
|
|
Gdx.app.exit();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void exit() {
|
|
Gdx.app.exit(); //can just use Gdx.app.exit for desktop
|
|
}
|
|
|
|
@Override
|
|
public boolean isTablet() {
|
|
return true; //treat desktop the same as a tablet
|
|
}
|
|
|
|
@Override
|
|
public void setLandscapeMode(boolean landscapeMode) {
|
|
//create file to indicate that landscape mode should be used
|
|
if (landscapeMode) {
|
|
FileUtil.writeFile(switchOrientationFile, "1");
|
|
}
|
|
else {
|
|
FileUtil.deleteFile(switchOrientationFile);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void preventSystemSleep(boolean preventSleep) {
|
|
int k = 1;
|
|
k++;
|
|
}
|
|
}
|
|
}
|