diff options
Diffstat (limited to 'desktop')
| -rw-r--r-- | desktop/build.gradle | 47 | ||||
| -rw-r--r-- | desktop/src/com/ilotterytea/maxoning/DesktopLauncher.java | 35 |
2 files changed, 82 insertions, 0 deletions
diff --git a/desktop/build.gradle b/desktop/build.gradle new file mode 100644 index 0000000..9e8a4a8 --- /dev/null +++ b/desktop/build.gradle @@ -0,0 +1,47 @@ +sourceCompatibility = 1.8 +sourceSets.main.java.srcDirs = [ "src/" ] +sourceSets.main.resources.srcDirs = ["../assets"] + +project.ext.mainClassName = "com.ilotterytea.maxoning.DesktopLauncher" +project.ext.assetsDir = new File("../assets") + +import org.gradle.internal.os.OperatingSystem + +task run(dependsOn: classes, type: JavaExec) { + main = project.mainClassName + classpath = sourceSets.main.runtimeClasspath + standardInput = System.in + workingDir = project.assetsDir + ignoreExitValue = true + + if (OperatingSystem.current() == OperatingSystem.MAC_OS) { + // Required to run on macOS + jvmArgs += "-XstartOnFirstThread" + } +} + +task debug(dependsOn: classes, type: JavaExec) { + main = project.mainClassName + classpath = sourceSets.main.runtimeClasspath + standardInput = System.in + workingDir = project.assetsDir + ignoreExitValue = true + debug = true +} + +task dist(type: Jar) { + duplicatesStrategy(DuplicatesStrategy.EXCLUDE) + manifest { + attributes 'Main-Class': project.mainClassName + } + dependsOn configurations.runtimeClasspath + from { + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } + } + with jar +} + + +dist.dependsOn classes + +eclipse.project.name = appName + "-desktop" diff --git a/desktop/src/com/ilotterytea/maxoning/DesktopLauncher.java b/desktop/src/com/ilotterytea/maxoning/DesktopLauncher.java new file mode 100644 index 0000000..c543213 --- /dev/null +++ b/desktop/src/com/ilotterytea/maxoning/DesktopLauncher.java @@ -0,0 +1,35 @@ +package com.ilotterytea.maxoning; + +import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; +import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; + +import java.io.File; +import java.io.FileNotFoundException; +import java.util.ArrayList; +import java.util.Scanner; + +// Please note that on macOS your application needs to be started with the -XstartOnFirstThread JVM argument +public class DesktopLauncher { + public static void main (String[] arg) throws FileNotFoundException { + Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration(); + config.setForegroundFPS(60); + config.setTitle(String.format("Maxon Petting Simulator - %s", getRandomLine())); + config.setWindowIcon("icon.png"); + config.setWindowedMode(1280, 720); + //config.setFullscreenMode(Lwjgl3ApplicationConfiguration.getDisplayMode()); + + new Lwjgl3Application(new MaxonGame(), config); + } + + private static String getRandomLine() throws FileNotFoundException { + Scanner scan = new Scanner(new File("texts/splashes.txt")); + ArrayList<String> strings = new ArrayList<>(); + + while (scan.hasNext()) { + strings.add(scan.next()); + } + + return strings.get((int) Math.floor(Math.random() * strings.size())); + } + +} |
