migration to new JMonkey Engine
@ -28,7 +28,7 @@
|
||||
<property name="scrollAreaPadding" type="float" value="0" />
|
||||
</attributes>
|
||||
<images>
|
||||
<property name="defaultImg" type="String" value="Gui/Window/panel_x_inner.png" />
|
||||
<property name="defaultImg" type="String" value="Gui/Window/panel_x.png" />
|
||||
</images>
|
||||
<effects></effects>
|
||||
</element>
|
||||
@ -62,11 +62,12 @@
|
||||
</property>
|
||||
<property name="useBtnUpArrowIcon" type="boolean" value="true" />
|
||||
<property name="useBtnDownArrowIcon" type="boolean" value="true" />
|
||||
<property name="gap" type="float" value="0" />
|
||||
</attributes>
|
||||
<images>
|
||||
<property name="trackImg" type="String" value="Gui/Scrolling/scroll_track_x.png" />
|
||||
<property name="thumbImg" type="String" value="Gui/Button/buttonTransparent.png" />
|
||||
<property name="thumbHoverImg" type="String" value="Gui/Button/buttonTransparentHover.png" />
|
||||
<property name="thumbImg" type="String" value="Gui/Scrolling/thumb.png" />
|
||||
<property name="thumbHoverImg" type="String" value="Gui/Scrolling/thumbHover.png" />
|
||||
<property name="btnUpImg" type="String" value="Gui/Button/buttonTransparent.png" />
|
||||
<property name="btnUpHoverImg" type="String" value="Gui/Button/buttonTransparentHover.png" />
|
||||
<property name="btnDownImg" type="String" value="Gui/Button/buttonTransparent.png" />
|
||||
|
||||
BIN
ShootingStars/assets/Gui/Scrolling/thumb.png
Normal file
|
After Width: | Height: | Size: 194 B |
BIN
ShootingStars/assets/Gui/Scrolling/thumbHover.png
Normal file
|
After Width: | Height: | Size: 194 B |
154
ShootingStars/assets/Gui/Table/Table.gui.xml
Normal file
@ -0,0 +1,154 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root>
|
||||
<element name="Table">
|
||||
<font>
|
||||
</font>
|
||||
<attributes>
|
||||
<property name="highlightColor" type="ColorRGBA">
|
||||
<r value="0.7" />
|
||||
<g value="0.7" />
|
||||
<b value="0.7" />
|
||||
<a value="0.5" />
|
||||
</property>
|
||||
<property name="resizeBorders" type="Vector4f">
|
||||
<x value="14" />
|
||||
<y value="14" />
|
||||
<z value="14" />
|
||||
<w value="14" />
|
||||
</property>
|
||||
<property name="minSize" type="Vector2f">
|
||||
<x value="150" />
|
||||
<y value="50" />
|
||||
</property>
|
||||
<property name="defaultSize" type="Vector2f">
|
||||
<x value="350" />
|
||||
<y value="200" />
|
||||
</property>
|
||||
<property name="tablePadding" type="float" value="4" />
|
||||
<property name="headerGap" type="float" value="0" />
|
||||
</attributes>
|
||||
<images>
|
||||
<property name="defaultImg" type="String" value="Gui/Window/panel_x.png" />
|
||||
</images>
|
||||
<effects>
|
||||
</effects>
|
||||
</element>
|
||||
|
||||
<element name="Table#Row">
|
||||
<font>
|
||||
</font>
|
||||
<attributes>
|
||||
<property name="defaultSize" type="Vector2f">
|
||||
<x value="100" />
|
||||
<y value="24" />
|
||||
</property>
|
||||
<property name="resizeBorders" type="Vector4f">
|
||||
<x value="0" />
|
||||
<y value="0" />
|
||||
<z value="0" />
|
||||
<w value="0" />
|
||||
</property>
|
||||
</attributes>
|
||||
<images>
|
||||
</images>
|
||||
<effects>
|
||||
</effects>
|
||||
</element>
|
||||
|
||||
<element name="Table#Header">
|
||||
<font>
|
||||
<property name="fontSize" type="float" value="20" />
|
||||
<property name="fontColor" type="ColorRGBA">
|
||||
<r value="1" />
|
||||
<g value="1" />
|
||||
<b value="1" />
|
||||
<a value="1" />
|
||||
</property>
|
||||
<property name="textAlign" type="String" value="Center" />
|
||||
<property name="textVAlign" type="String" value="Center" />
|
||||
<property name="textWrap" type="String" value="Word" />
|
||||
<property name="textPadding" type="float" value="0" />
|
||||
</font>
|
||||
<attributes>
|
||||
<property name="defaultSize" type="Vector2f">
|
||||
<x value="200" />
|
||||
<y value="50" />
|
||||
</property>
|
||||
<property name="resizeBorders" type="Vector4f">
|
||||
<x value="5" />
|
||||
<y value="5" />
|
||||
<z value="5" />
|
||||
<w value="5" />
|
||||
</property>
|
||||
<property name="hoverColor" type="ColorRGBA">
|
||||
<r value="1.0" />
|
||||
<g value="1.0" />
|
||||
<b value="1.0" />
|
||||
<a value="1.0" />
|
||||
</property>
|
||||
<property name="pressedColor" type="ColorRGBA">
|
||||
<r value="0.6" />
|
||||
<g value="0.6" />
|
||||
<b value="0.6" />
|
||||
<a value="1.0" />
|
||||
</property>
|
||||
<property name="arrowSize" type="Vector2f">
|
||||
<x value="20" />
|
||||
<y value="20" />
|
||||
</property>
|
||||
</attributes>
|
||||
<images>
|
||||
<property name="defaultImg" type="String" value="Gui/Scrolling/thumb.png" />
|
||||
<property name="hoverImg" type="String" value="Gui/Scrolling/thumbHover.png" />
|
||||
<property name="arrowUpImg" type="String" value="tonegod/gui/style/def/Common/Arrows/arrow_up.png" />
|
||||
<property name="arrowDownImg" type="String" value="tonegod/gui/style/def/Common/Arrows/arrow_down.png" />
|
||||
<property name="noArrowImg" type="String" value="tonegod/gui/style/def/Blank.png" />
|
||||
</images>
|
||||
<effects>
|
||||
</effects>
|
||||
</element>
|
||||
|
||||
<element name="Table#Cell">
|
||||
<font>
|
||||
<property name="fontSize" type="float" value="20" />
|
||||
<property name="fontColor" type="ColorRGBA">
|
||||
<r value="0.8" />
|
||||
<g value="0.8" />
|
||||
<b value="0.8" />
|
||||
<a value="1.0" />
|
||||
</property>
|
||||
<property name="textAlign" type="String" value="Left" />
|
||||
<property name="textVAlign" type="String" value="Center" />
|
||||
<property name="textWrap" type="String" value="NoWrap" />
|
||||
<property name="textPadding" type="float" value="3" />
|
||||
</font>
|
||||
<attributes>
|
||||
<property name="resizeBorders" type="Vector4f">
|
||||
<x value="0" />
|
||||
<y value="0" />
|
||||
<z value="0" />
|
||||
<w value="0" />
|
||||
</property>
|
||||
<property name="arrowResizeBorders" type="Vector4f">
|
||||
<x value="0" />
|
||||
<y value="0" />
|
||||
<z value="0" />
|
||||
<w value="0" />
|
||||
</property>
|
||||
<property name="defaultSize" type="Vector2f">
|
||||
<x value="100" />
|
||||
<y value="24" />
|
||||
</property>
|
||||
<property name="arrowSize" type="Vector2f">
|
||||
<x value="20" />
|
||||
<y value="20" />
|
||||
</property>
|
||||
</attributes>
|
||||
<images>
|
||||
<property name="expandImg" type="String" value="tonegod/gui/style/def/Common/Arrows/arrow_right.png" />
|
||||
<property name="collapseImg" type="String" value="tonegod/gui/style/def/Common/Arrows/arrow_down.png" />
|
||||
</images>
|
||||
<effects>
|
||||
</effects>
|
||||
</element>
|
||||
</root>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
@ -17,5 +17,6 @@
|
||||
<style control="ChatBox" path="tonegod/gui/style/def/ChatBox/ChatBox.gui.xml" />
|
||||
<style control="Indicator" path="Gui/Indicator/Indicator.gui.xml" />
|
||||
<style control="ColorWheel" path="tonegod/gui/style/def/Common/Extras/ColorWheel.gui.xml" />
|
||||
<style control="Table" path="Gui/Table/Table.gui.xml" />
|
||||
</root>
|
||||
|
||||
|
||||
BIN
ShootingStars/bulletjme.dll
Normal file
BIN
ShootingStars/lib/tonegodgui-0.0.2.jar
Normal file
282
ShootingStars/nbproject/desktop-deployment-impl.xml
Normal file
@ -0,0 +1,282 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--desktop-deployment-impl.xml v1.0-->
|
||||
<project name="desktop-deployment-impl" basedir="..">
|
||||
<target name="-desktop-deployment" depends="-extract-native-binaries, -create-launcher-jvmargs, -test-platforms-enabled, -windows-x86-app, -windows-x64-app, -linux-x86-app, -linux-x64-app, -macosx-x64-app"/>
|
||||
|
||||
<target name="-windows-x86-app" if="is.windows-x86.app.enabled">
|
||||
<echo>Windows 32bit Application Creation</echo>
|
||||
<copy file="resources/desktop-deployment/windows-x86/package.cfg" tofile="resources/desktop-deployment/windows-x86/_package.cfg">
|
||||
<filterchain>
|
||||
<replacestring from="$${main.class}" to="${main.class.launcher}"/>
|
||||
<replacestring from="$${launcher.jvmargs}" to="${launcher.jvmargs}"/>
|
||||
<replacestring from="$${application.title}" to="${application.title}"/>
|
||||
<replacestring from="$${jar.name}" to="${application.title}.jar"/>
|
||||
</filterchain>
|
||||
</copy>
|
||||
|
||||
<zip destfile="${dist.dir}/${application.title}-Windows-x86.zip">
|
||||
<zipfileset file="resources/desktop-deployment/windows-x86/stub.exe" filemode="755" fullpath="${application.title}/${application.title}.exe"/>
|
||||
<zipfileset file="resources/desktop-deployment/windows-x86/_package.cfg" fullpath="${application.title}/app/package.cfg"/>
|
||||
<zipfileset file="resources/desktop-deployment/windows-x86/icon.ico" fullpath="${application.title}/${application.title}.ico"/>
|
||||
<zipfileset file="${dist.jar}" prefix="${application.title}/app"/>
|
||||
<zipfileset dir="${dist.dir}/lib" excludes="${deployment.jarexcludes}" prefix="${application.title}/app/lib"/>
|
||||
<zipfileset dir="${build.dir}/natives/windows-x86" prefix="${application.title}/app" erroronmissingdir="false"/>
|
||||
</zip>
|
||||
<delete file="resources/desktop-deployment/windows-x86/_package.cfg"/>
|
||||
<antcall target="-package-windows-x86-jre"/>
|
||||
</target>
|
||||
|
||||
<target name="-package-windows-x86-jre" if="is.bundle.jre.enabled">
|
||||
<untar src="resources/desktop-deployment/jre-windows-x86.tar.gz" dest="build/jre" compression="gzip"/>
|
||||
<dirset dir="build/jre" id="dirId-windows-x86">
|
||||
<include name="jre*"/>
|
||||
</dirset>
|
||||
<property name= "dirName-windows-x86" refid= "dirId-windows-x86"/>
|
||||
<zip destfile="${dist.dir}/${application.title}-Windows-x86.zip" update="true">
|
||||
<zipfileset dir="build/jre/${dirName-windows-x86}" prefix="${application.title}/runtime/jre"/>
|
||||
</zip>
|
||||
<delete dir="build/jre"/>
|
||||
</target>
|
||||
|
||||
<target name="-windows-x64-app" if="is.windows-x64.app.enabled">
|
||||
<echo>Windows 64bit Application Creation</echo>
|
||||
<copy file="resources/desktop-deployment/windows-x64/package.cfg" tofile="resources/desktop-deployment/windows-x64/_package.cfg">
|
||||
<filterchain>
|
||||
<replacestring from="$${main.class}" to="${main.class.launcher}"/>
|
||||
<replacestring from="$${launcher.jvmargs}" to="${launcher.jvmargs}"/>
|
||||
<replacestring from="$${application.title}" to="${application.title}"/>
|
||||
<replacestring from="$${jar.name}" to="${application.title}.jar"/>
|
||||
</filterchain>
|
||||
</copy>
|
||||
|
||||
<zip destfile="${dist.dir}/${application.title}-Windows-x64.zip">
|
||||
<zipfileset file="resources/desktop-deployment/windows-x64/stub.exe" filemode="755" fullpath="${application.title}/${application.title}.exe"/>
|
||||
<zipfileset file="resources/desktop-deployment/windows-x64/_package.cfg" fullpath="${application.title}/app/package.cfg"/>
|
||||
<zipfileset file="resources/desktop-deployment/windows-x64/icon.ico" fullpath="${application.title}/${application.title}.ico"/>
|
||||
<zipfileset file="${dist.jar}" prefix="${application.title}/app"/>
|
||||
<zipfileset dir="${dist.dir}/lib" excludes="${deployment.jarexcludes}" prefix="${application.title}/app/lib"/>
|
||||
<zipfileset dir="${build.dir}/natives/windows-x64" prefix="${application.title}/app" erroronmissingdir="false"/>
|
||||
</zip>
|
||||
<delete file="resources/desktop-deployment/windows-x64/_package.cfg"/>
|
||||
<antcall target="-package-windows-x64-jre"/>
|
||||
</target>
|
||||
|
||||
<target name="-package-windows-x64-jre" if="is.bundle.jre.enabled">
|
||||
<untar src="resources/desktop-deployment/jre-windows-x64.tar.gz" dest="build/jre" compression="gzip"/>
|
||||
<dirset dir="build/jre" id="dirId-windows-x64">
|
||||
<include name="jre*"/>
|
||||
</dirset>
|
||||
<property name= "dirName-windows-x64" refid= "dirId-windows-x64"/>
|
||||
<zip destfile="${dist.dir}/${application.title}-Windows-x64.zip" update="true">
|
||||
<zipfileset dir="build/jre/${dirName-windows-x64}" prefix="${application.title}/runtime/jre"/>
|
||||
</zip>
|
||||
<delete dir="build/jre"/>
|
||||
</target>
|
||||
|
||||
<target name="-linux-x86-app" if="is.linux-x86.app.enabled">
|
||||
<echo>Linux 32bit Application Creation</echo>
|
||||
<copy file="resources/desktop-deployment/linux-x86/package.cfg" tofile="resources/desktop-deployment/linux-x86/_package.cfg">
|
||||
<filterchain>
|
||||
<replacestring from="$${main.class}" to="${main.class.launcher}"/>
|
||||
<replacestring from="$${launcher.jvmargs}" to="${launcher.jvmargs}"/>
|
||||
<replacestring from="$${application.title}" to="${application.title}"/>
|
||||
<replacestring from="$${jar.name}" to="${application.title}.jar"/>
|
||||
</filterchain>
|
||||
</copy>
|
||||
|
||||
<zip destfile="${dist.dir}/${application.title}-Linux-x86.zip">
|
||||
<zipfileset file="resources/desktop-deployment/linux-x86/stub" filemode="755" fullpath="${application.title}/${application.title}"/>
|
||||
<zipfileset file="resources/desktop-deployment/linux-x86/_package.cfg" fullpath="${application.title}/app/package.cfg"/>
|
||||
<zipfileset file="${dist.jar}" prefix="${application.title}/app"/>
|
||||
<zipfileset dir="${dist.dir}/lib" excludes="${deployment.jarexcludes}" prefix="${application.title}/app/lib"/>
|
||||
<zipfileset dir="${build.dir}/natives/linux-x86" prefix="${application.title}/app" erroronmissingdir="false"/>
|
||||
</zip>
|
||||
<delete file="resources/desktop-deployment/linux-x86/_package.cfg"/>
|
||||
<antcall target="-package-linux-x86-jre"/>
|
||||
</target>
|
||||
|
||||
<target name="-package-linux-x86-jre" if="is.bundle.jre.enabled">
|
||||
<untar src="resources/desktop-deployment/jre-linux-x86.tar.gz" dest="build/jre" compression="gzip"/>
|
||||
<dirset dir="build/jre" id="dirId-linux-x86">
|
||||
<include name="jre*"/>
|
||||
</dirset>
|
||||
<property name= "dirName-linux-x86" refid= "dirId-linux-x86"/>
|
||||
<zip destfile="${dist.dir}/${application.title}-Linux-x86.zip" update="true">
|
||||
<zipfileset dir="build/jre/${dirName-linux-x86}" excludes ="bin/*" prefix="${application.title}/runtime/jre"/>
|
||||
<zipfileset dir="build/jre/${dirName-linux-x86}" includes ="bin/*" filemode="755" prefix="${application.title}/runtime/jre"/>
|
||||
</zip>
|
||||
<delete dir="build/jre"/>
|
||||
</target>
|
||||
|
||||
<target name="-linux-x64-app" if="is.linux-x64.app.enabled">
|
||||
<echo>Linux 64bit Application Creation</echo>
|
||||
<copy file="resources/desktop-deployment/linux-x64/package.cfg" tofile="resources/desktop-deployment/linux-x64/_package.cfg">
|
||||
<filterchain>
|
||||
<replacestring from="$${main.class}" to="${main.class.launcher}"/>
|
||||
<replacestring from="$${launcher.jvmargs}" to="${launcher.jvmargs}"/>
|
||||
<replacestring from="$${application.title}" to="${application.title}"/>
|
||||
<replacestring from="$${jar.name}" to="${application.title}.jar"/>
|
||||
</filterchain>
|
||||
</copy>
|
||||
|
||||
<zip destfile="${dist.dir}/${application.title}-Linux-x64.zip">
|
||||
<zipfileset file="resources/desktop-deployment/linux-x64/stub" filemode="755" fullpath="${application.title}/${application.title}"/>
|
||||
<zipfileset file="resources/desktop-deployment/linux-x64/_package.cfg" fullpath="${application.title}/app/package.cfg"/>
|
||||
<zipfileset file="${dist.jar}" prefix="${application.title}/app"/>
|
||||
<zipfileset dir="${dist.dir}/lib" excludes="${deployment.jarexcludes}" prefix="${application.title}/app/lib"/>
|
||||
<zipfileset dir="${build.dir}/natives/linux-x64" prefix="${application.title}/app" erroronmissingdir="false"/>
|
||||
</zip>
|
||||
<delete file="resources/desktop-deployment/linux-x64/_package.cfg"/>
|
||||
<antcall target="-package-linux-x64-jre"/>
|
||||
</target>
|
||||
|
||||
<target name="-package-linux-x64-jre" if="is.bundle.jre.enabled">
|
||||
<untar src="resources/desktop-deployment/jre-linux-x64.tar.gz" dest="build/jre" compression="gzip"/>
|
||||
<dirset dir="build/jre" id="dirId-linux-x64">
|
||||
<include name="jre*"/>
|
||||
</dirset>
|
||||
<property name= "dirName-linux-x64" refid= "dirId-linux-x64"/>
|
||||
<zip destfile="${dist.dir}/${application.title}-Linux-x64.zip" update="true">
|
||||
<zipfileset dir="build/jre/${dirName-linux-x64}" excludes ="bin/*" prefix="${application.title}/runtime/jre"/>
|
||||
<zipfileset dir="build/jre/${dirName-linux-x64}" includes ="bin/*" filemode="755" prefix="${application.title}/runtime/jre"/>
|
||||
</zip>
|
||||
<delete dir="build/jre"/>
|
||||
</target>
|
||||
|
||||
<target name="-macosx-x64-app" if="is.macosx-x64.app.enabled">
|
||||
<echo>MacOSX Application Creation</echo>
|
||||
<loadresource property="jfxdeploy.jvmargs">
|
||||
<propertyresource name="run.jvmargs"/>
|
||||
<filterchain>
|
||||
<tokenfilter>
|
||||
<filetokenizer/>
|
||||
<replacestring from=" " to="</string><string>"/>
|
||||
</tokenfilter>
|
||||
</filterchain>
|
||||
</loadresource>
|
||||
<antcall target="-update-macosx-x64-plist-with-runtime"/>
|
||||
<antcall target="-update-macosx-x64-plist-without-runtime"/>
|
||||
<zip destfile="${dist.dir}/${application.title}-MacOSX.zip">
|
||||
<zipfileset file="resources/desktop-deployment/macosx-x64/stub" filemode="755" fullpath="${application.title}.app/Contents/MacOS/JavaAppLauncher"/>
|
||||
<zipfileset file="resources/desktop-deployment/macosx-x64/_Info.plist" fullpath="${application.title}.app/Contents/Info.plist"/>
|
||||
<zipfileset file="resources/desktop-deployment/macosx-x64/icon.icns" fullpath="${application.title}.app/Contents/Resources/GenericApp.icns"/>
|
||||
<zipfileset file="${dist.jar}" prefix="${application.title}.app/Contents/Java"/>
|
||||
<zipfileset dir="${dist.dir}/lib" excludes="${deployment.jarexcludes}" prefix="${application.title}.app/Contents/Java/lib"/>
|
||||
<zipfileset dir="${build.dir}/natives/macosx-x64" prefix="${application.title}.app/Contents/Java" erroronmissingdir="false"/>
|
||||
</zip>
|
||||
<delete file="resources/desktop-deployment/macosx-x64/_Info.plist"/>
|
||||
<antcall target="-package-macosx-x64-jre"/>
|
||||
</target>
|
||||
|
||||
<target name="-update-macosx-x64-plist-with-runtime" if="is.bundle.jre.enabled">
|
||||
<!--key>JVMRuntime</key>
|
||||
<string>jdk1.8.0_31.jdk</string-->
|
||||
<copy file="resources/desktop-deployment/macosx-x64/Info.plist" tofile="resources/desktop-deployment/macosx-x64/_Info.plist">
|
||||
<filterchain>
|
||||
<replacestring from="$${main.class}" to="${main.class}"/>
|
||||
<replacestring from="$${run.jvmargs}" to="${jfxdeploy.jvmargs}"/>
|
||||
<replacestring from="$${application.title}" to="${application.title}"/>
|
||||
<replacestring from="$${jfxdeploy.jvmargs}" to="-Xnoagent"/>
|
||||
<replacestring from="$${jar.name}" to="${application.title}.jar"/>
|
||||
<replacestring from="<!--jvmruntime-->" to="<key>JVMRuntime</key> <string>jre.jre</string>"/>
|
||||
</filterchain>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="-update-macosx-x64-plist-without-runtime" unless="is.bundle.jre.enabled">
|
||||
<copy file="resources/desktop-deployment/macosx-x64/Info.plist" tofile="resources/desktop-deployment/macosx-x64/_Info.plist">
|
||||
<filterchain>
|
||||
<replacestring from="$${main.class}" to="${main.class}"/>
|
||||
<replacestring from="$${run.jvmargs}" to="${jfxdeploy.jvmargs}"/>
|
||||
<replacestring from="$${application.title}" to="${application.title}"/>
|
||||
<replacestring from="$${jfxdeploy.jvmargs}" to="-Xnoagent"/>
|
||||
<replacestring from="$${jar.name}" to="${application.title}.jar"/>
|
||||
</filterchain>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="-package-macosx-x64-jre" if="is.bundle.jre.enabled">
|
||||
<untar src="resources/desktop-deployment/jre-macosx-x64.tar.gz" dest="build/jre" compression="gzip"/>
|
||||
<dirset dir="build/jre" id="dirId-macosx-x64">
|
||||
<include name="jre*"/>
|
||||
</dirset>
|
||||
<property name= "dirName-macosx-x64" refid= "dirId-macosx-x64"/>
|
||||
<zip destfile="${dist.dir}/${application.title}-MacOSX.zip" update="true">
|
||||
<zipfileset dir="build/jre/${dirName-macosx-x64}/Contents/Home" excludes ="bin/*" prefix="${application.title}.app/Contents/PlugIns/jre.jre/Contents/Home/jre"/>
|
||||
<zipfileset dir="build/jre/${dirName-macosx-x64}/Contents/Home" includes ="bin/*" filemode="755" prefix="${application.title}.app/Contents/PlugIns/jre.jre/Contents/Home/jre"/>
|
||||
<zipfileset file="build/jre/${dirName-macosx-x64}/Contents/Info.plist" fullpath="${application.title}.app/Contents/PlugIns/jre.jre/Contents/Info.plist"/>
|
||||
<zipfileset dir="build/jre/${dirName-macosx-x64}/Contents/MacOS" prefix="${application.title}.app/Contents/PlugIns/jre.jre/Contents/MacOS"/>
|
||||
</zip>
|
||||
<delete dir="build/jre"/>
|
||||
</target>
|
||||
|
||||
<target name="-test-platforms-enabled">
|
||||
<condition property="is.windows-x86.app.enabled">
|
||||
<istrue value="${windows-x86.app.enabled}"/>
|
||||
</condition>
|
||||
<condition property="is.windows-x64.app.enabled">
|
||||
<istrue value="${windows-x64.app.enabled}"/>
|
||||
</condition>
|
||||
<condition property="is.linux-x86.app.enabled">
|
||||
<istrue value="${linux-x86.app.enabled}"/>
|
||||
</condition>
|
||||
<condition property="is.linux-x64.app.enabled">
|
||||
<istrue value="${linux-x64.app.enabled}"/>
|
||||
</condition>
|
||||
<condition property="is.macosx-x64.app.enabled">
|
||||
<istrue value="${macosx-x64.app.enabled}"/>
|
||||
</condition>
|
||||
<condition property="is.bundle.jre.enabled">
|
||||
<istrue value="${bundle.jre.enabled}"/>
|
||||
</condition>
|
||||
</target>
|
||||
|
||||
<target name="-create-launcher-jvmargs">
|
||||
<script language="javascript">
|
||||
<![CDATA[
|
||||
var args = project.getProperty("run.jvmargs");
|
||||
var res = args.split(" ");
|
||||
var out = "";
|
||||
for (var i = 1; i < res.length+1; i++) {
|
||||
out = out + "jvmarg." + i + "=" + res[i-1] + "\r\n";
|
||||
}
|
||||
project.setProperty("launcher.jvmargs", out);
|
||||
]]>
|
||||
</script>
|
||||
<loadresource property="main.class.launcher">
|
||||
<propertyresource name="main.class"/>
|
||||
<filterchain>
|
||||
<tokenfilter>
|
||||
<filetokenizer/>
|
||||
<replacestring from="." to="/"/>
|
||||
</tokenfilter>
|
||||
</filterchain>
|
||||
</loadresource>
|
||||
</target>
|
||||
|
||||
<target name="-extract-native-binaries">
|
||||
<java outputproperty="deployment.jarexcludes" dir="${basedir}" classname="com.jme3.system.ExtractNativeLibraries" fork="true" failonerror="false" classpath="${dist.jar}">
|
||||
<arg value="getjarexcludes"/>
|
||||
</java>
|
||||
<java dir="${basedir}" classname="com.jme3.system.ExtractNativeLibraries" fork="true" failonerror="false" classpath="${dist.jar}">
|
||||
<arg value="Windows32"/>
|
||||
<arg value="${build.dir}/natives/windows-x86"/>
|
||||
</java>
|
||||
<java dir="${basedir}" classname="com.jme3.system.ExtractNativeLibraries" fork="true" failonerror="false" classpath="${dist.jar}">
|
||||
<arg value="Windows64"/>
|
||||
<arg value="${build.dir}/natives/windows-x64"/>
|
||||
</java>
|
||||
<java dir="${basedir}" classname="com.jme3.system.ExtractNativeLibraries" fork="true" failonerror="false" classpath="${dist.jar}">
|
||||
<arg value="Linux32"/>
|
||||
<arg value="${build.dir}/natives/linux-x86"/>
|
||||
</java>
|
||||
<java dir="${basedir}" classname="com.jme3.system.ExtractNativeLibraries" fork="true" failonerror="false" classpath="${dist.jar}">
|
||||
<arg value="Linux64"/>
|
||||
<arg value="${build.dir}/natives/linux-x64"/>
|
||||
</java>
|
||||
<java dir="${basedir}" classname="com.jme3.system.ExtractNativeLibraries" fork="true" failonerror="false" classpath="${dist.jar}">
|
||||
<arg value="MacOSX64"/>
|
||||
<arg value="${build.dir}/natives/macosx-x64"/>
|
||||
</java>
|
||||
</target>
|
||||
</project>
|
||||
@ -6,6 +6,9 @@
|
||||
<extension file="assets-impl.xml" id="assets">
|
||||
<dependency dependsOn="-init-assets" target="-do-init"/>
|
||||
</extension>
|
||||
<extension file="desktop-deployment-impl.xml" id="desktop-deployment">
|
||||
<dependency dependsOn="-desktop-deployment" target="jar"/>
|
||||
</extension>
|
||||
</buildExtensions>
|
||||
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
|
||||
<name>ShootingStars</name>
|
||||
|
||||
@ -0,0 +1,6 @@
|
||||
app.mainjar=${jar.name}
|
||||
app.version=1.0
|
||||
app.preferences.id=${application.title}
|
||||
app.mainclass=${main.class}
|
||||
app.classpath=
|
||||
${launcher.jvmargs}
|
||||
BIN
ShootingStars/resources/desktop-deployment/linux-x64/stub
Normal file
@ -0,0 +1,6 @@
|
||||
app.mainjar=${jar.name}
|
||||
app.version=1.0
|
||||
app.preferences.id=${application.title}
|
||||
app.mainclass=${main.class}
|
||||
app.classpath=
|
||||
${launcher.jvmargs}
|
||||
BIN
ShootingStars/resources/desktop-deployment/linux-x86/stub
Normal file
@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.7.4</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleAllowMixedLocalizations</key>
|
||||
<true/>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>JavaAppLauncher</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>GenericApp.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${main.class}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${application.title}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<!-- See http://developer.apple.com/library/mac/#releasenotes/General/SubmittingToMacAppStore/_index.html
|
||||
for list of AppStore categories -->
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>Unknown</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>100</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (C) 2015</string>
|
||||
<!--jvmruntime-->
|
||||
<key>JVMMainClassName</key>
|
||||
<string>${main.class}</string>
|
||||
<key>JVMAppClasspath</key>
|
||||
<string></string>
|
||||
<key>JVMMainJarName</key>
|
||||
<string>${jar.name}</string>
|
||||
<key>JVMPreferencesID</key>
|
||||
<string>${application.title}</string>
|
||||
<key>JVMOptions</key>
|
||||
<array>
|
||||
<string>${run.jvmargs}</string>
|
||||
</array>
|
||||
<key>JVMUserOptions</key>
|
||||
<dict>
|
||||
|
||||
</dict>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<string>true</string>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
ShootingStars/resources/desktop-deployment/macosx-x64/icon.icns
Normal file
BIN
ShootingStars/resources/desktop-deployment/macosx-x64/stub
Normal file
BIN
ShootingStars/resources/desktop-deployment/windows-x64/icon.ico
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
@ -0,0 +1,7 @@
|
||||
app.mainjar=${jar.name}
|
||||
app.version=1.0
|
||||
app.id=${application.title}
|
||||
app.preferences.id=${application.title}
|
||||
app.mainclass=${main.class}
|
||||
app.classpath=
|
||||
${launcher.jvmargs}
|
||||
BIN
ShootingStars/resources/desktop-deployment/windows-x64/stub.exe
Normal file
BIN
ShootingStars/resources/desktop-deployment/windows-x86/icon.ico
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
@ -0,0 +1,7 @@
|
||||
app.mainjar=${jar.name}
|
||||
app.version=1.0
|
||||
app.id=${application.title}
|
||||
app.preferences.id=${application.title}
|
||||
app.mainclass=${main.class}
|
||||
app.classpath=
|
||||
${launcher.jvmargs}
|
||||
BIN
ShootingStars/resources/desktop-deployment/windows-x86/stub.exe
Normal file
@ -34,6 +34,7 @@ public class AudioDataManager {
|
||||
private static final Band LOW_BAND = new Band(1f, 140);
|
||||
private static final Band MID_BAND = new Band(400f, 1200f);
|
||||
private static final Band HIGH_BAND = new Band(2000f, 16000f);
|
||||
private static final float MAX_POINTS = 100f;
|
||||
/**/
|
||||
private AudioProcessor audioProcessorLowBand;
|
||||
private AudioProcessor audioProcessorMidBand;
|
||||
@ -140,6 +141,16 @@ public class AudioDataManager {
|
||||
audioProcessorMidBand = null;
|
||||
}
|
||||
|
||||
public int getMaxAchievablePoints() {
|
||||
int maxAchievablePoints = 0;
|
||||
|
||||
for (int i = 0; i < spawnData.length; i++) {
|
||||
maxAchievablePoints += (int) Math.round(MAX_POINTS * spawnData[i]);
|
||||
}
|
||||
|
||||
return maxAchievablePoints;
|
||||
}
|
||||
|
||||
public void analyseHighBand() {
|
||||
audioProcessorHighBand.calculate();
|
||||
|
||||
@ -243,7 +254,7 @@ public class AudioDataManager {
|
||||
lastSpawnDataPollIndex = index;
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
public float getRemainingTime() {
|
||||
return (player.getTime() - player.getLength()) * -1;
|
||||
}
|
||||
|
||||
@ -108,7 +108,7 @@ public class Ground extends Node {
|
||||
|
||||
private void addLight() {
|
||||
AmbientLight ambient = new AmbientLight();
|
||||
ambient.setColor(new ColorRGBA(0.5f, 0.5f, 0.5f, 1f));
|
||||
ambient.setColor(new ColorRGBA(0.1f, 0.1f, 0.1f, 1f));
|
||||
this.addLight(ambient);
|
||||
}
|
||||
}
|
||||
|
||||
@ -19,9 +19,7 @@ package org.wyrez.shootingstars.gui;
|
||||
import com.jme3.asset.AssetManager;
|
||||
import com.jme3.math.Vector2f;
|
||||
import com.jme3.ui.Picture;
|
||||
import tonegod.gui.controls.text.Label;
|
||||
import tonegod.gui.controls.windows.Panel;
|
||||
import tonegod.gui.core.Element;
|
||||
import tonegod.gui.core.Screen;
|
||||
|
||||
/**
|
||||
|
||||
@ -49,11 +49,11 @@ public class FileMetaInfoGUI extends BackgroundedGui implements Gui {
|
||||
this.settings = settings;
|
||||
this.screenHelper = screenHelper;
|
||||
this.setIgnoreMouse(true);
|
||||
this.setIsVisible(false);
|
||||
create();
|
||||
this.setAsContainerOnly();
|
||||
}
|
||||
|
||||
private void create() {
|
||||
@Override
|
||||
public void create() {
|
||||
float startPointx = screenHelper.calcX(256f);
|
||||
float startPointy = screenHelper.calcY(202f);
|
||||
float marginLeft = screenHelper.calcX(110f);
|
||||
@ -120,6 +120,7 @@ public class FileMetaInfoGUI extends BackgroundedGui implements Gui {
|
||||
this.addChild(btnCancel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh() {
|
||||
lblDuration.setText(String.valueOf(settings.getTrackLength()) + " s");
|
||||
lblTitel.setText(settings.getTrackTitle());
|
||||
@ -127,10 +128,12 @@ public class FileMetaInfoGUI extends BackgroundedGui implements Gui {
|
||||
lblFileName.setText(new File(settings.getVideoFile()).getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void attach() {
|
||||
screen.addElement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detach() {
|
||||
screen.removeElement(this);
|
||||
}
|
||||
|
||||
@ -25,7 +25,9 @@ import org.wyrez.shootingstars.gui.controls.ButtonBase;
|
||||
import org.wyrez.shootingstars.gui.controls.GuiMusicRemainingTimeControl;
|
||||
import org.wyrez.shootingstars.gui.controls.GuiPlayerPointsControl;
|
||||
import org.wyrez.shootingstars.gui.listener.GameListener;
|
||||
import org.wyrez.shootingstars.gui.model.GameMode;
|
||||
import org.wyrez.shootingstars.helper.ScreenHelper;
|
||||
import org.wyrez.shootingstars.states.util.OptionSettings;
|
||||
import tonegod.gui.controls.buttons.Button;
|
||||
import tonegod.gui.controls.extras.Indicator;
|
||||
import tonegod.gui.controls.text.Label;
|
||||
@ -36,7 +38,7 @@ import tonegod.gui.core.Screen;
|
||||
*
|
||||
* @author Darth Affe
|
||||
*/
|
||||
public class GameGUI extends Panel implements Gui{
|
||||
public class GameGUI extends Panel implements Gui {
|
||||
|
||||
private GameListener listener;
|
||||
private Button btnStart;
|
||||
@ -49,19 +51,23 @@ public class GameGUI extends Panel implements Gui{
|
||||
private ScreenHelper screenHelper;
|
||||
private AudioDataManager audioDataManager;
|
||||
private Panel pointsTimePanel;
|
||||
private GameMode gameMode;
|
||||
private OptionSettings optionSettings;
|
||||
|
||||
public GameGUI(Screen screen, GameListener listener, ScreenHelper screenHelper, AudioDataManager audioDataManager) {
|
||||
public GameGUI(Screen screen, GameListener listener, ScreenHelper screenHelper, AudioDataManager audioDataManager, OptionSettings optionSettings) {
|
||||
super(screen, new Vector2f(0f, 0f), new Vector2f(1280f, 720f)); //create for full hd
|
||||
this.listener = listener;
|
||||
this.screenHelper = screenHelper;
|
||||
this.audioDataManager = audioDataManager;
|
||||
this.optionSettings = optionSettings;
|
||||
this.setIgnoreMouse(true);
|
||||
this.setIsVisible(false);
|
||||
create();
|
||||
this.setAsContainerOnly();
|
||||
}
|
||||
|
||||
private void create() {
|
||||
|
||||
@Override
|
||||
public void create() {
|
||||
this.gameMode = GameMode.values()[optionSettings.getGameMode()];
|
||||
|
||||
float startPointx = screenHelper.calcX(537f);
|
||||
float startPointy = screenHelper.calcY(576f);
|
||||
|
||||
@ -71,43 +77,46 @@ public class GameGUI extends Panel implements Gui{
|
||||
float startPointYMenu = screenHelper.calcY(200f);
|
||||
|
||||
float labelFontSize = screenHelper.calcX(20f);
|
||||
|
||||
btnStart = new ButtonBase(screen, new Vector2f(startPointx, startPointy),
|
||||
|
||||
float pointsTimePanelWidth = screenHelper.calcX(180f);
|
||||
float pointsTimePanelHeight = screenHelper.calcY(65f);
|
||||
|
||||
btnStart = new ButtonBase(screen, new Vector2f(startPointx, startPointy),
|
||||
new Vector2f(screenHelper.calcX(200f), screenHelper.calcY(40f))) {
|
||||
@Override
|
||||
public void onButtonMouseLeftUp(MouseButtonEvent evt, boolean toggled) {
|
||||
listener.start();
|
||||
}
|
||||
};
|
||||
};
|
||||
btnStart.setTextPadding(screenHelper.calcY(10f));
|
||||
btnStart.setText("Launch");
|
||||
btnStart.setFontSize(labelFontSize);
|
||||
|
||||
|
||||
|
||||
|
||||
btnResume = new ButtonBase(screen, new Vector2f(startPointx, startPointYMenu),
|
||||
new Vector2f(screenHelper.calcX(200f), screenHelper.calcY(40f))) {
|
||||
@Override
|
||||
public void onButtonMouseLeftUp(MouseButtonEvent evt, boolean toggled) {
|
||||
listener.resume();
|
||||
}
|
||||
};
|
||||
};
|
||||
btnResume.setTextPadding(screenHelper.calcY(10f));
|
||||
btnResume.setText("Resume");
|
||||
btnResume.setFontSize(labelFontSize);
|
||||
|
||||
|
||||
|
||||
|
||||
btnMenu = new ButtonBase(screen, new Vector2f(startPointx, startPointYMenu + screenHelper.calcY(50f)),
|
||||
new Vector2f(screenHelper.calcX(200f), screenHelper.calcY(40f))) {
|
||||
@Override
|
||||
public void onButtonMouseLeftUp(MouseButtonEvent evt, boolean toggled) {
|
||||
listener.cancelTrack();
|
||||
}
|
||||
};
|
||||
};
|
||||
btnMenu.setTextPadding(screenHelper.calcY(10f));
|
||||
btnMenu.setText("Menu");
|
||||
btnMenu.setFontSize(labelFontSize);
|
||||
|
||||
|
||||
|
||||
|
||||
indOverheat = new Indicator(screen, new Vector2f(0f, 0f), Indicator.Orientation.VERTICAL) {
|
||||
@Override
|
||||
public void onChange(float arg0, float arg1) {
|
||||
@ -121,12 +130,12 @@ public class GameGUI extends Panel implements Gui{
|
||||
indOverheat.setMaxValue(100f);
|
||||
updateOverhead(0f);
|
||||
|
||||
pointsTimePanel = new Panel(screen, new Vector2f(startPointPointsx, startPointPointsy), new Vector2f(screenHelper.calcX(180f), screenHelper.calcY(65f)));
|
||||
|
||||
pointsTimePanel = new Panel(screen, new Vector2f(startPointPointsx, startPointPointsy), new Vector2f(pointsTimePanelWidth, pointsTimePanelHeight));
|
||||
|
||||
lblPoints = new Label(screen, new Vector2f(screenHelper.calcX(5f), 0), new Vector2f(screenHelper.calcX(150f), screenHelper.calcY(30f)));
|
||||
lblPoints.setFontColor(new ColorRGBA(1f, 0f, 0f, 1f));
|
||||
lblPoints.setFontSize(screenHelper.calcX(30f));
|
||||
|
||||
|
||||
lblRemainingTime = new Label(screen, new Vector2f(screenHelper.calcX(5f), screenHelper.calcX(25f)), new Vector2f(screenHelper.calcX(150f), screenHelper.calcY(30f)));
|
||||
lblRemainingTime.setFontColor(new ColorRGBA(1f, 0f, 0f, 1f));
|
||||
lblRemainingTime.setFontSize(screenHelper.calcX(30f));
|
||||
@ -177,10 +186,12 @@ public class GameGUI extends Panel implements Gui{
|
||||
pointsTimePanel.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void attach() {
|
||||
screen.addElement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detach() {
|
||||
screen.removeElement(this);
|
||||
}
|
||||
@ -192,10 +203,10 @@ public class GameGUI extends Panel implements Gui{
|
||||
public void setPoints(String points) {
|
||||
lblPoints.setText("Score: " + points);
|
||||
}
|
||||
|
||||
|
||||
public void setRemainingTime(float remainingTime) {
|
||||
int seconds = (int)remainingTime / 1000;
|
||||
int min = (int)(seconds / 60);
|
||||
int seconds = (int) remainingTime / 1000;
|
||||
int min = (int) (seconds / 60);
|
||||
lblRemainingTime.setText("Time: " + min + ":" + String.format("%02d", (seconds - min * 60)));
|
||||
}
|
||||
|
||||
@ -205,6 +216,7 @@ public class GameGUI extends Panel implements Gui{
|
||||
this.addControl(new GuiMusicRemainingTimeControl(audioDataManager, this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh() {
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,8 +22,10 @@ package org.wyrez.shootingstars.gui;
|
||||
*/
|
||||
public interface Gui {
|
||||
|
||||
public void create();
|
||||
|
||||
public void refresh();
|
||||
|
||||
|
||||
public void attach();
|
||||
|
||||
public void detach();
|
||||
|
||||
@ -24,12 +24,13 @@ import java.util.List;
|
||||
import org.wyrez.shootingstars.gui.controls.ButtonBase;
|
||||
import org.wyrez.shootingstars.gui.listener.HighscoreListener;
|
||||
import org.wyrez.shootingstars.gui.manager.HighscoreManager;
|
||||
import org.wyrez.shootingstars.gui.model.Score;
|
||||
import org.wyrez.shootingstars.gui.model.ClassicScore;
|
||||
import org.wyrez.shootingstars.helper.ScreenHelper;
|
||||
import tonegod.gui.controls.buttons.Button;
|
||||
import tonegod.gui.controls.text.Label;
|
||||
import tonegod.gui.controls.lists.Table;
|
||||
import tonegod.gui.controls.lists.Table.TableColumn;
|
||||
import tonegod.gui.controls.lists.Table.TableRow;
|
||||
import tonegod.gui.controls.text.TextField;
|
||||
import tonegod.gui.controls.windows.Panel;
|
||||
import tonegod.gui.core.Screen;
|
||||
|
||||
/**
|
||||
@ -41,8 +42,8 @@ public class HighscoreGUI extends BackgroundedGui implements Gui {
|
||||
private HighscoreListener listener;
|
||||
private HighscoreManager highscoreManager;
|
||||
private ScreenHelper screenHelper;
|
||||
private Panel plnScores;
|
||||
private TextField txtFilter;
|
||||
private Table classicTable;
|
||||
|
||||
public HighscoreGUI(Screen screen, HighscoreListener listener, HighscoreManager highscoreManager,
|
||||
ScreenHelper screenHelper, AssetManager assetManager) {
|
||||
@ -51,55 +52,35 @@ public class HighscoreGUI extends BackgroundedGui implements Gui {
|
||||
this.highscoreManager = highscoreManager;
|
||||
this.screenHelper = screenHelper;
|
||||
this.setIgnoreMouse(true);
|
||||
this.setIsVisible(false);
|
||||
plnScores = new Panel(screen, new Vector2f(0f, 0f),new Vector2f(0f, 0f));
|
||||
create();
|
||||
this.setAsContainerOnly();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void attach() {
|
||||
screen.addElement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detach() {
|
||||
screen.removeElement(this);
|
||||
}
|
||||
|
||||
private void create() {
|
||||
float startPointx = screenHelper.calcX(32f);
|
||||
float startPointy = screenHelper.calcY(18f);
|
||||
@Override
|
||||
public void create() {
|
||||
float startPointX = screenHelper.calcX(32f);
|
||||
float startPointY = screenHelper.calcY(80f);
|
||||
|
||||
float marginTableLeft = screenHelper.calcX(7f);
|
||||
|
||||
float marginScoreNameLeft = screenHelper.calcX(14f);
|
||||
float marginScorePointsLeft = screenHelper.calcX(300f);
|
||||
float marginScoreDateLeft = screenHelper.calcX(420f);
|
||||
float marginScoreSongNameLeft = screenHelper.calcX(600f);
|
||||
|
||||
float labelFontSize = screenHelper.calcX(20f);
|
||||
|
||||
|
||||
float buttonHeight = screenHelper.calcY(40f);
|
||||
float buttonWidth = screenHelper.calcX(180f);
|
||||
float buttonFontSize = screenHelper.calcX(18f);
|
||||
|
||||
List<Score> highscores = highscoreManager.getScores();
|
||||
createClassicHighscore(startPointX,startPointY,marginTableLeft,labelFontSize);
|
||||
|
||||
Label lblScoreNameHead = new Label(screen, new Vector2f(startPointx + marginScoreNameLeft, startPointy), new Vector2f(screenHelper.calcX(250f), screenHelper.calcY(40f)));
|
||||
lblScoreNameHead.setText("Name");
|
||||
lblScoreNameHead.setFontSize(labelFontSize);
|
||||
|
||||
Label lblScorePointsHead = new Label(screen, new Vector2f(startPointx + marginScorePointsLeft, startPointy), new Vector2f(screenHelper.calcX(120f), screenHelper.calcY(40f)));
|
||||
lblScorePointsHead.setText("Points");
|
||||
lblScorePointsHead.setFontSize(labelFontSize);
|
||||
|
||||
Label lblScoreDateHead = new Label(screen, new Vector2f(startPointx + marginScoreDateLeft, startPointy), new Vector2f(screenHelper.calcX(180f), screenHelper.calcY(40f)));
|
||||
lblScoreDateHead.setText("Date");
|
||||
lblScoreDateHead.setFontSize(labelFontSize);
|
||||
|
||||
Label lblScoreSongNameHead = new Label(screen, new Vector2f(startPointx + marginScoreSongNameLeft, startPointy), new Vector2f(screenHelper.calcX(600f), screenHelper.calcY(40f)));
|
||||
lblScoreSongNameHead.setText("Song Name");
|
||||
lblScoreSongNameHead.setFontSize(labelFontSize);
|
||||
|
||||
drawHighscores(highscores);
|
||||
|
||||
Button btnBack = new ButtonBase(screen, new Vector2f(startPointx + screenHelper.calcX(1060f), startPointy + screenHelper.calcY(622.8f)), new Vector2f(screenHelper.calcX(153f), buttonHeight)) {
|
||||
Button btnBack = new ButtonBase(screen, new Vector2f(startPointX + screenHelper.calcX(1060f), startPointY + screenHelper.calcY(560.8f)), new Vector2f(screenHelper.calcX(153f), buttonHeight)) {
|
||||
@Override
|
||||
public void onButtonMouseLeftUp(MouseButtonEvent evt, boolean toggled) {
|
||||
listener.back();
|
||||
@ -108,13 +89,13 @@ public class HighscoreGUI extends BackgroundedGui implements Gui {
|
||||
btnBack.setTextPadding(screenHelper.calcY(10f));
|
||||
btnBack.setText("Back");
|
||||
btnBack.setFontSize(buttonFontSize);
|
||||
|
||||
|
||||
txtFilter = new TextField(screen, new Vector2f(screenHelper.calcX(800f), screenHelper.calcY(15f)), new Vector2f(screenHelper.calcX(280f), screenHelper.calcY(40f)));
|
||||
|
||||
|
||||
Button btnFilter = new ButtonBase(screen, new Vector2f(screenHelper.calcX(1092f), screenHelper.calcY(15f)), new Vector2f(buttonWidth, buttonHeight)) {
|
||||
@Override
|
||||
public void onButtonMouseLeftUp(MouseButtonEvent evt, boolean toggled) {
|
||||
List<Score> scores = highscoreManager.getScoresWithSongName(txtFilter.getText());
|
||||
List<ClassicScore> scores = highscoreManager.getClassicScoresWithSongName(txtFilter.getText());
|
||||
drawHighscores(scores);
|
||||
}
|
||||
};
|
||||
@ -122,66 +103,71 @@ public class HighscoreGUI extends BackgroundedGui implements Gui {
|
||||
btnFilter.setText("Filter Song Name");
|
||||
btnFilter.setFontSize(buttonFontSize);
|
||||
|
||||
this.addChild(lblScoreNameHead);
|
||||
this.addChild(lblScorePointsHead);
|
||||
this.addChild(lblScoreDateHead);
|
||||
this.addChild(lblScoreSongNameHead);
|
||||
this.addChild(plnScores);
|
||||
this.addChild(classicTable);
|
||||
this.addChild(txtFilter);
|
||||
this.addChild(btnFilter);
|
||||
this.addChild(btnBack);
|
||||
}
|
||||
|
||||
private void createClassicHighscore(float startPointX, float startPointY, float marginTableLeft, float labelFontSize) {
|
||||
List<ClassicScore> highscores = highscoreManager.getClassicScores();
|
||||
|
||||
classicTable = new Table(screen, new Vector2f(startPointX + marginTableLeft, startPointY),new Vector2f(screenHelper.calcX(1205f), screenHelper.calcY(550f))) {
|
||||
@Override
|
||||
public void onChange() {
|
||||
}
|
||||
};
|
||||
|
||||
TableColumn placeColumn = new TableColumn(classicTable, screen, "Place");
|
||||
placeColumn.setDimensions(screenHelper.calcX(35f), screenHelper.calcY(40f));
|
||||
placeColumn.setText("");
|
||||
placeColumn.setFontSize(labelFontSize);
|
||||
classicTable.addColumn(placeColumn);
|
||||
TableColumn nameColumn = new TableColumn(classicTable, screen, "Name");
|
||||
nameColumn.setDimensions(screenHelper.calcX(190f), screenHelper.calcY(40f));
|
||||
nameColumn.setText("Name");
|
||||
nameColumn.setFontSize(labelFontSize);
|
||||
classicTable.addColumn(nameColumn);
|
||||
TableColumn pointsColumn = new TableColumn(classicTable, screen, "Points");
|
||||
pointsColumn.setDimensions(screenHelper.calcX(110f), screenHelper.calcY(40f));
|
||||
pointsColumn.setText("Points");
|
||||
pointsColumn.setFontSize(labelFontSize);
|
||||
classicTable.addColumn(pointsColumn);
|
||||
TableColumn dateColumn = new TableColumn(classicTable, screen, "Date");
|
||||
dateColumn.setDimensions(screenHelper.calcX(170f), screenHelper.calcY(40f));
|
||||
dateColumn.setText("Date");
|
||||
dateColumn.setFontSize(labelFontSize);
|
||||
classicTable.addColumn(dateColumn);
|
||||
TableColumn songNameColumn = new TableColumn(classicTable, screen, "Song Name");
|
||||
songNameColumn.setDimensions(screenHelper.calcX(693f), screenHelper.calcY(40f));
|
||||
songNameColumn.setText("Song Name");
|
||||
songNameColumn.setFontSize(labelFontSize);
|
||||
classicTable.addColumn(songNameColumn);
|
||||
|
||||
public void refresh() {
|
||||
List<Score> highscores = highscoreManager.getScores();
|
||||
drawHighscores(highscores);
|
||||
}
|
||||
|
||||
private void drawHighscores(List<Score> scores) {
|
||||
plnScores.detachAllChildren();
|
||||
|
||||
float startPointx = screenHelper.calcX(32f);
|
||||
float startPointy = screenHelper.calcY(18f);
|
||||
|
||||
float marginScoreNameLeft = screenHelper.calcX(14f);
|
||||
float marginScorePointsLeft = screenHelper.calcX(300f);
|
||||
float marginScoreDateLeft = screenHelper.calcX(420f);
|
||||
float marginScoreSongNameLeft = screenHelper.calcX(600f);
|
||||
|
||||
float marginScoreTop = screenHelper.calcY(50f);
|
||||
@Override
|
||||
public void refresh() {
|
||||
List<ClassicScore> highscores = highscoreManager.getClassicScores();
|
||||
drawHighscores(highscores);
|
||||
}
|
||||
|
||||
private void drawHighscores(List<ClassicScore> scores) {
|
||||
float labelFontSize = screenHelper.calcX(20f);
|
||||
|
||||
int maxScores = 0;
|
||||
if (scores.size() > 10) {
|
||||
maxScores = 10;
|
||||
} else {
|
||||
maxScores = scores.size();
|
||||
}
|
||||
|
||||
for (int i = 0; i < maxScores; i++) {
|
||||
Score score = scores.get(i);
|
||||
Label lblScoreName = new Label(screen, new Vector2f(startPointx + marginScoreNameLeft, startPointy + marginScoreTop), new Vector2f(screenHelper.calcX(250f), screenHelper.calcY(40f)));
|
||||
lblScoreName.setText(score.getPlayerName());
|
||||
lblScoreName.setFontSize(labelFontSize);
|
||||
|
||||
Label lblScorePoints = new Label(screen, new Vector2f(startPointx + marginScorePointsLeft, startPointy + marginScoreTop), new Vector2f(screenHelper.calcX(120f), screenHelper.calcY(40f)));
|
||||
lblScorePoints.setText(String.valueOf(score.getScore()));
|
||||
lblScorePoints.setFontSize(labelFontSize);
|
||||
classicTable.removeAllRows();
|
||||
for (int i = 0; i < scores.size(); i++) {
|
||||
|
||||
Label lblScoreDate = new Label(screen, new Vector2f(startPointx + marginScoreDateLeft, startPointy + marginScoreTop), new Vector2f(screenHelper.calcX(180f), screenHelper.calcY(40f)));
|
||||
lblScoreDate.setText(DateFormat.getDateTimeInstance().format(score.getDate()));
|
||||
lblScoreDate.setFontSize(labelFontSize);
|
||||
|
||||
Label lblScoreSongName = new Label(screen, new Vector2f(startPointx + marginScoreSongNameLeft, startPointy + marginScoreTop), new Vector2f(screenHelper.calcX(600f), screenHelper.calcY(40f)));
|
||||
lblScoreSongName.setText(score.getSongName());
|
||||
lblScoreSongName.setFontSize(labelFontSize);
|
||||
|
||||
plnScores.addChild(lblScoreName);
|
||||
plnScores.addChild(lblScorePoints);
|
||||
plnScores.addChild(lblScoreDate);
|
||||
plnScores.addChild(lblScoreSongName);
|
||||
marginScoreTop += screenHelper.calcY(50f);
|
||||
ClassicScore score = scores.get(i);
|
||||
TableRow row = new TableRow(screen, classicTable);
|
||||
row.setFontSize(labelFontSize);
|
||||
row.addCell(String.valueOf(i + 1), i);
|
||||
row.addCell(score.getPlayerName(), i);
|
||||
row.addCell(String.valueOf(score.getScore()), i);
|
||||
row.addCell(DateFormat.getDateTimeInstance().format(score.getDate()), i);
|
||||
row.addCell(score.getSongName(), i);
|
||||
classicTable.addRow(row);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -42,12 +42,11 @@ public class LoadingGui extends BackgroundedGui implements Gui {
|
||||
assetManager, "Textures/ShootingStars.png"); //create for full hd
|
||||
this.screenHelper = screenHelper;
|
||||
this.setIgnoreMouse(true);
|
||||
this.setIsVisible(false);
|
||||
create();
|
||||
this.setAsContainerOnly();
|
||||
}
|
||||
|
||||
private void create() {
|
||||
|
||||
@Override
|
||||
public void create() {
|
||||
float startPointx = screenHelper.calcX(537f);
|
||||
float startPointy = screenHelper.calcY(576f);
|
||||
float distancePogressbarLabely = screenHelper.calcY(36f);
|
||||
@ -55,9 +54,9 @@ public class LoadingGui extends BackgroundedGui implements Gui {
|
||||
|
||||
indProgress = new IndicatorBase(screen, new Vector2f(startPointx, startPointy),
|
||||
new Vector2f(screenHelper.calcX(200f), screenHelper.calcY(30f)), Indicator.Orientation.HORIZONTAL);
|
||||
indProgress.setDisplayValues();
|
||||
indProgress.setDisplayValues();
|
||||
indProgress.setMaxValue(LoadingProgress.getProgressCount());
|
||||
indProgress.setIndicatorColor(ColorRGBA.Black);
|
||||
indProgress.setIndicatorColor(ColorRGBA.Black);
|
||||
|
||||
lblStatus = new Label(screen, new Vector2f(startPointx, startPointy + distancePogressbarLabely), new Vector2f(screenHelper.calcX(200f), screenHelper.calcY(30f)));
|
||||
lblStatus.setTextAlign(BitmapFont.Align.Center);
|
||||
@ -67,10 +66,12 @@ public class LoadingGui extends BackgroundedGui implements Gui {
|
||||
this.addChild(lblStatus);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void attach() {
|
||||
screen.addElement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detach() {
|
||||
screen.removeElement(this);
|
||||
}
|
||||
@ -80,6 +81,7 @@ public class LoadingGui extends BackgroundedGui implements Gui {
|
||||
indProgress.setCurrentValue(progress.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh() {
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,6 +25,7 @@ import org.wyrez.shootingstars.helper.ScreenHelper;
|
||||
import tonegod.gui.controls.buttons.Button;
|
||||
import tonegod.gui.controls.text.Label;
|
||||
import tonegod.gui.core.Screen;
|
||||
import tonegod.gui.core.layouts.MigLayout;
|
||||
|
||||
/**
|
||||
*
|
||||
@ -40,11 +41,14 @@ public class MenuGUI extends BackgroundedGui implements Gui {
|
||||
this.listener = listener;
|
||||
this.screenHelper = screenHelper;
|
||||
this.setIgnoreMouse(true);
|
||||
this.setIsVisible(false);
|
||||
create();
|
||||
this.setAsContainerOnly();
|
||||
}
|
||||
|
||||
private void create() {
|
||||
@Override
|
||||
public void create() {
|
||||
//MigLayout ml = new MigLayout(screen, "[70][15][15]", "[35][15][15][35]", "");
|
||||
|
||||
|
||||
float startPointx = screenHelper.calcX(256f);
|
||||
float startPointy = screenHelper.calcY(252f);
|
||||
float labelFontSize = screenHelper.calcX(89f);
|
||||
@ -112,13 +116,16 @@ public class MenuGUI extends BackgroundedGui implements Gui {
|
||||
this.addChild(lblShootingStars);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void attach() {
|
||||
screen.addElement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detach() {
|
||||
screen.removeElement(this);
|
||||
}
|
||||
|
||||
@ -21,6 +21,7 @@ import com.jme3.input.event.MouseButtonEvent;
|
||||
import com.jme3.math.Vector2f;
|
||||
import org.wyrez.shootingstars.gui.controls.ButtonBase;
|
||||
import org.wyrez.shootingstars.gui.listener.OptionsListener;
|
||||
import org.wyrez.shootingstars.gui.model.GameMode;
|
||||
import org.wyrez.shootingstars.helper.DisplayHelper;
|
||||
import org.wyrez.shootingstars.helper.ScreenHelper;
|
||||
import org.wyrez.shootingstars.states.util.OptionSettings;
|
||||
@ -44,6 +45,7 @@ public class OptionsGUI extends BackgroundedGui implements Gui {
|
||||
//General Controls
|
||||
private TextField txtPlayerName;
|
||||
private CheckBox chkEnableAudioVisualization;
|
||||
private ComboBox cboGameMode;
|
||||
//Video Controls
|
||||
private ComboBox cboResolution;
|
||||
private ComboBox cboFrequency;
|
||||
@ -63,20 +65,21 @@ public class OptionsGUI extends BackgroundedGui implements Gui {
|
||||
this.settings = settings;
|
||||
this.screenHelper = screenHelper;
|
||||
this.setIgnoreMouse(true);
|
||||
this.setIsVisible(false);
|
||||
create();
|
||||
readControlValues();
|
||||
this.setAsContainerOnly();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void attach() {
|
||||
screen.addElement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detach() {
|
||||
screen.removeElement(this);
|
||||
}
|
||||
|
||||
private void create() {
|
||||
@Override
|
||||
public void create() {
|
||||
float tabControlStartPointx = screenHelper.calcX(32f);
|
||||
float tabControlStartPointy = screenHelper.calcY(18f);
|
||||
|
||||
@ -114,6 +117,8 @@ public class OptionsGUI extends BackgroundedGui implements Gui {
|
||||
|
||||
this.addChild(btnSave);
|
||||
this.addChild(btnCancel);
|
||||
|
||||
readControlValues();
|
||||
}
|
||||
|
||||
private void createGeneral(float labelFontSize) {
|
||||
@ -125,6 +130,9 @@ public class OptionsGUI extends BackgroundedGui implements Gui {
|
||||
float startPointAudioVisualy = screenHelper.calcY(36f);
|
||||
float marginLeftAudioVisualControl = screenHelper.calcX(190f);
|
||||
|
||||
float comboBoxWidth = screenHelper.calcX(200f);
|
||||
float comboBoxHeight = screenHelper.calcY(30f);
|
||||
|
||||
Label lblPlayerName = new Label(screen, new Vector2f(startPointx, startPointy), new Vector2f(screenHelper.calcX(120f), screenHelper.calcY(40f)));
|
||||
lblPlayerName.setText("Player Name");
|
||||
lblPlayerName.setFontSize(labelFontSize);
|
||||
@ -138,10 +146,26 @@ public class OptionsGUI extends BackgroundedGui implements Gui {
|
||||
|
||||
chkEnableAudioVisualization = new CheckBox(screen, new Vector2f(startPointAudioVisualx + marginLeftAudioVisualControl, startPointAudioVisualy + screenHelper.calcY(12f)), new Vector2f(screenHelper.calcX(20f), screenHelper.calcX(20f)));
|
||||
|
||||
Label lblGameMode = new Label(screen, new Vector2f(startPointx, startPointy + screenHelper.calcY(308f)), new Vector2f(screenHelper.calcX(120f), screenHelper.calcY(40f)));
|
||||
lblGameMode.setText("Game Mode");
|
||||
lblGameMode.setFontSize(labelFontSize);
|
||||
|
||||
cboGameMode = new ComboBox(screen, new Vector2f(startPointx + marginLeftControls, startPointy + screenHelper.calcY(315f)), new Vector2f(comboBoxWidth, comboBoxHeight)) {
|
||||
@Override
|
||||
public void onChange(int selectedIndex, Object value) {
|
||||
}
|
||||
};
|
||||
cboGameMode.setFontSize(labelFontSize);
|
||||
for (GameMode gm : GameMode.values()) {
|
||||
cboGameMode.addListItem(gm.toString(), gm);
|
||||
}
|
||||
|
||||
this.addChild(lblPlayerName);
|
||||
this.addChild(txtPlayerName);
|
||||
this.addChild(lblEnableAudioVisualization);
|
||||
this.addChild(chkEnableAudioVisualization);
|
||||
this.addChild(lblGameMode);
|
||||
this.addChild(cboGameMode);
|
||||
}
|
||||
|
||||
private void createVideo(float labelFontSize) {
|
||||
@ -291,6 +315,7 @@ public class OptionsGUI extends BackgroundedGui implements Gui {
|
||||
//General
|
||||
txtPlayerName.setText(settings.getUsername());
|
||||
chkEnableAudioVisualization.setIsChecked(settings.isAudioVisualizationEnabled());
|
||||
setComboBoxValue(cboGameMode, GameMode.values()[settings.getGameMode()].name());
|
||||
|
||||
//Video
|
||||
setComboBoxValue(cboResolution, resolution);
|
||||
@ -308,7 +333,7 @@ public class OptionsGUI extends BackgroundedGui implements Gui {
|
||||
|
||||
private void setComboBoxValue(ComboBox comboBox, String value) {
|
||||
for (int i = 0; i < comboBox.getListItems().size(); i++) {
|
||||
if (comboBox.getListItems().get(i).getValue().equals(value)) {
|
||||
if (comboBox.getListItems().get(i).getValue().toString().equalsIgnoreCase(value)) {
|
||||
comboBox.setSelectedIndex(i);
|
||||
}
|
||||
}
|
||||
@ -318,6 +343,7 @@ public class OptionsGUI extends BackgroundedGui implements Gui {
|
||||
//General
|
||||
settings.setUsername(txtPlayerName.getText());
|
||||
settings.setEnableAudioVisualization(chkEnableAudioVisualization.getIsChecked());
|
||||
settings.setGameMode(cboGameMode.getSelectIndex());
|
||||
|
||||
//Video
|
||||
String resolution[] = cboResolution.getSelectedListItem().getValue().toString().split(" x ");
|
||||
@ -337,6 +363,8 @@ public class OptionsGUI extends BackgroundedGui implements Gui {
|
||||
settings.save();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh() {
|
||||
create();
|
||||
}
|
||||
}
|
||||
|
||||
@ -41,11 +41,11 @@ public class SelectTrackGUI extends BackgroundedGui implements Gui {
|
||||
this.listener = listener;
|
||||
this.screenHelper = screenHelper;
|
||||
this.setIgnoreMouse(true);
|
||||
this.setIsVisible(false);
|
||||
create();
|
||||
this.setAsContainerOnly();
|
||||
}
|
||||
|
||||
private void create() {
|
||||
@Override
|
||||
public void create() {
|
||||
float startPointx = screenHelper.calcX(576f);
|
||||
float startPointy = screenHelper.calcY(260f);
|
||||
float labelFontSize = screenHelper.calcX(76f);
|
||||
@ -98,13 +98,16 @@ public class SelectTrackGUI extends BackgroundedGui implements Gui {
|
||||
this.addChild(btnCancel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void attach() {
|
||||
screen.addElement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detach() {
|
||||
screen.removeElement(this);
|
||||
}
|
||||
|
||||
@ -42,11 +42,11 @@ public class YTDownloadGUI extends BackgroundedGui implements Gui {
|
||||
this.listener = listener;
|
||||
this.screenHelper = screenHelper;
|
||||
this.setIgnoreMouse(true);
|
||||
this.setIsVisible(false);
|
||||
create();
|
||||
this.setAsContainerOnly();
|
||||
}
|
||||
|
||||
private void create() {
|
||||
@Override
|
||||
public void create() {
|
||||
float startPointx = screenHelper.calcX(384f);
|
||||
float startPointy = screenHelper.calcY(324f);
|
||||
float labelFontSize = screenHelper.calcX(51.2f);
|
||||
@ -99,13 +99,16 @@ public class YTDownloadGUI extends BackgroundedGui implements Gui {
|
||||
this.addChild(btnCancel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void attach() {
|
||||
screen.addElement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detach() {
|
||||
screen.removeElement(this);
|
||||
}
|
||||
|
||||
@ -16,14 +16,10 @@
|
||||
*/
|
||||
package org.wyrez.shootingstars.gui.controls;
|
||||
|
||||
import com.jme3.input.event.MouseButtonEvent;
|
||||
import com.jme3.input.event.MouseMotionEvent;
|
||||
import com.jme3.math.Vector2f;
|
||||
import com.jme3.math.Vector4f;
|
||||
import tonegod.gui.controls.buttons.Button;
|
||||
import tonegod.gui.controls.buttons.ButtonAdapter;
|
||||
import tonegod.gui.core.ElementManager;
|
||||
import tonegod.gui.core.Screen;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@ -34,7 +34,7 @@ public class IndicatorBase extends Indicator {
|
||||
}
|
||||
|
||||
public IndicatorBase(ElementManager screen, Vector2f position, Vector2f dimensions, Orientation orientation) {
|
||||
super(screen, position, dimensions, orientation);
|
||||
super(screen, position, dimensions, orientation, true);
|
||||
init();
|
||||
}
|
||||
|
||||
@ -54,7 +54,7 @@ public class IndicatorBase extends Indicator {
|
||||
}
|
||||
|
||||
public IndicatorBase(ElementManager screen, String UID, Vector2f position, Vector2f dimensions, Vector4f resizeBorders, String defaultImg, Orientation orientation) {
|
||||
super(screen, UID, position, dimensions, resizeBorders, defaultImg, orientation);
|
||||
super(screen, UID, position, dimensions, resizeBorders, defaultImg, orientation, true);
|
||||
init();
|
||||
}
|
||||
|
||||
|
||||
@ -25,13 +25,13 @@ import java.sql.ResultSet;
|
||||
import java.text.DateFormat;
|
||||
import java.util.*;
|
||||
import org.wyrez.shootingstars.game.GameSettings;
|
||||
import org.wyrez.shootingstars.gui.model.Score;
|
||||
import org.wyrez.shootingstars.gui.model.ClassicScore;
|
||||
import org.wyrez.shootingstars.io.SQLiteConnector;
|
||||
import org.wyrez.shootingstars.states.util.OptionSettings;
|
||||
|
||||
public class HighscoreManager {
|
||||
|
||||
private List<Score> scores;
|
||||
private List<ClassicScore> classicScores;
|
||||
private Connection connection;
|
||||
private SQLiteConnector connector;
|
||||
private ScoreComparator scoreComparator;
|
||||
@ -40,33 +40,35 @@ public class HighscoreManager {
|
||||
this.connector = connector;
|
||||
this.scoreComparator = scoreComparator;
|
||||
connection = connector.initDBConnection();
|
||||
scores = new ArrayList<Score>();
|
||||
loadScoreFile();
|
||||
classicScores = new ArrayList<ClassicScore>();
|
||||
loadClassicScoreDB();
|
||||
}
|
||||
|
||||
public List<Score> getScores() {
|
||||
sort(scores);
|
||||
return scores;
|
||||
public List<ClassicScore> getClassicScores() {
|
||||
sort(classicScores);
|
||||
return classicScores;
|
||||
}
|
||||
|
||||
private void sort(List<Score> scores) {
|
||||
private void sort(List<ClassicScore> scores) {
|
||||
Collections.sort(scores, scoreComparator);
|
||||
}
|
||||
|
||||
public void addScore(GameSettings gameSettings, OptionSettings optionSettings, int score) {
|
||||
String songName = gameSettings.getTrackArtist() + " ~ " + gameSettings.getTrackTitle();
|
||||
Date date = new Date(System.currentTimeMillis());
|
||||
scores.add(new Score(songName, optionSettings.getUsername(), score, date));
|
||||
updateScoreFile(optionSettings.getUsername(), score, songName, date);
|
||||
|
||||
|
||||
classicScores.add(new ClassicScore(songName, optionSettings.getUsername(), score, date));
|
||||
updateClassicScoreDB(optionSettings.getUsername(), score, songName, date);
|
||||
}
|
||||
|
||||
public List<Score> getScoresWithSongName(String songName) {
|
||||
List<Score> tempScores = new ArrayList<Score>();
|
||||
public List<ClassicScore> getClassicScoresWithSongName(String songName) {
|
||||
List<ClassicScore> tempScores = new ArrayList<ClassicScore>();
|
||||
|
||||
try {
|
||||
ResultSet rs = connector.excecuteQuery(connection, "SELECT * FROM Scores WHERE LOWER(SongName) LIKE LOWER('%" + songName + "%');");
|
||||
ResultSet rs = connector.excecuteQuery(connection, "SELECT * FROM ClassicScores WHERE LOWER(SongName) LIKE LOWER('%" + songName + "%');");
|
||||
while (rs.next()) {
|
||||
tempScores.add(new Score(rs.getString("SongName"), rs.getString("Name"), rs.getInt("Points"), DateFormat.getDateTimeInstance().parse(rs.getString("GameDate"))));
|
||||
tempScores.add(new ClassicScore(rs.getString("SongName"), rs.getString("Name"), rs.getInt("Points"), DateFormat.getDateTimeInstance().parse(rs.getString("GameDate"))));
|
||||
}
|
||||
rs.close();
|
||||
} catch (Exception ex) {
|
||||
@ -75,20 +77,20 @@ public class HighscoreManager {
|
||||
return tempScores;
|
||||
}
|
||||
|
||||
private void loadScoreFile() {
|
||||
private void loadClassicScoreDB() {
|
||||
try {
|
||||
ResultSet rs = connector.excecuteQuery(connection, "SELECT * FROM Scores;");
|
||||
ResultSet rs = connector.excecuteQuery(connection, "SELECT * FROM ClassicScores;");
|
||||
while (rs.next()) {
|
||||
scores.add(new Score(rs.getString("SongName"), rs.getString("Name"), rs.getInt("Points"), DateFormat.getDateTimeInstance().parse(rs.getString("GameDate"))));
|
||||
classicScores.add(new ClassicScore(rs.getString("SongName"), rs.getString("Name"), rs.getInt("Points"), DateFormat.getDateTimeInstance().parse(rs.getString("GameDate"))));
|
||||
}
|
||||
rs.close();
|
||||
} catch (Exception ex) {
|
||||
}
|
||||
}
|
||||
|
||||
private void updateScoreFile(String name, int score, String songName, Date date) {
|
||||
private void updateClassicScoreDB(String name, int score, String songName, Date date) {
|
||||
try {
|
||||
connector.excecuteUpdate(connection, "INSERT INTO Scores(Name,Points,SongName,GameDate) values('" + name + "'," + score + ", '" + songName + "', '" + DateFormat.getDateTimeInstance().format(date) + "' )");
|
||||
connector.excecuteUpdate(connection, "INSERT INTO ClassicScores(Name,Points,SongName,GameDate) values('" + name + "'," + score + ", '" + songName + "', '" + DateFormat.getDateTimeInstance().format(date) + "' )");
|
||||
} catch (Exception ex) {
|
||||
}
|
||||
}
|
||||
|
||||
@ -21,11 +21,11 @@ package org.wyrez.shootingstars.gui.manager;
|
||||
* @author Rappold
|
||||
*/
|
||||
import java.util.Comparator;
|
||||
import org.wyrez.shootingstars.gui.model.Score;
|
||||
import org.wyrez.shootingstars.gui.model.ClassicScore;
|
||||
|
||||
public class ScoreComparator implements Comparator<Score> {
|
||||
public class ScoreComparator implements Comparator<ClassicScore> {
|
||||
|
||||
public int compare(Score score1, Score score2) {
|
||||
public int compare(ClassicScore score1, ClassicScore score2) {
|
||||
|
||||
int sc1 = score1.getScore();
|
||||
int sc2 = score2.getScore();
|
||||
|
||||
@ -23,14 +23,14 @@ package org.wyrez.shootingstars.gui.model;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
public class Score implements Serializable {
|
||||
public class ClassicScore implements Serializable {
|
||||
|
||||
private int score;
|
||||
private String playerName;
|
||||
private String songName;
|
||||
private Date date;
|
||||
|
||||
public Score(String songName, String playerName, int score, Date date) {
|
||||
public ClassicScore(String songName, String playerName, int score, Date date) {
|
||||
this.songName = songName;
|
||||
this.score = score;
|
||||
this.playerName = playerName;
|
||||
@ -0,0 +1,12 @@
|
||||
package org.wyrez.shootingstars.gui.model;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Snowsun
|
||||
*/
|
||||
public enum GameMode {
|
||||
Classic,
|
||||
RushEasy,
|
||||
RushNormal,
|
||||
RushHard
|
||||
}
|
||||
@ -24,11 +24,13 @@ import java.io.File;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
|
||||
public class SQLiteConnector {
|
||||
|
||||
private static final String DB_PATH = "scoresdb.db";
|
||||
private static final String VERSION = "1.1";
|
||||
|
||||
public SQLiteConnector() {
|
||||
}
|
||||
@ -39,19 +41,20 @@ public class SQLiteConnector {
|
||||
try {
|
||||
Class.forName("org.sqlite.JDBC");
|
||||
|
||||
String sqliteTable = "CREATE TABLE Scores (Name VARCHAR(250), Points INT(20), SongName VARCHAR(250), GameDate DATE)";
|
||||
File sQLiteDb = new File(DB_PATH);
|
||||
if (!sQLiteDb.exists()) {
|
||||
sQLiteDb.createNewFile();
|
||||
newFile = true;
|
||||
sQLiteDb.createNewFile();
|
||||
newFile = true;
|
||||
}
|
||||
|
||||
connection = DriverManager.getConnection("jdbc:sqlite:" + DB_PATH);
|
||||
|
||||
if(newFile) {
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate(sqliteTable);
|
||||
|
||||
if (newFile) {
|
||||
createNewTables(connection);
|
||||
} else {
|
||||
updateTables(connection);
|
||||
}
|
||||
|
||||
return connection;
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
@ -59,6 +62,57 @@ public class SQLiteConnector {
|
||||
return null;
|
||||
}
|
||||
|
||||
private void createNewTables(Connection connection) throws SQLException {
|
||||
Statement stmt = connection.createStatement();
|
||||
|
||||
String query = "CREATE TABLE ClassicScores (Name VARCHAR(250), Points INT(20), SongName VARCHAR(250), GameDate DATE)";
|
||||
stmt.executeUpdate(query);
|
||||
|
||||
query = "CREATE TABLE RushScores (Name VARCHAR(250), Points INT(20), SongName VARCHAR(250), GameDate DATE, UsedTime INT(20))";
|
||||
stmt.executeUpdate(query);
|
||||
|
||||
query = "CREATE TABLE Version (Number VARCHAR(20))";
|
||||
stmt.executeUpdate(query);
|
||||
|
||||
query = "INSERT INTO Version (Number) values('" + VERSION + "')";
|
||||
stmt.executeUpdate(query);
|
||||
}
|
||||
|
||||
private void updateTables(Connection connection) throws SQLException {
|
||||
|
||||
Statement stmt = connection.createStatement();
|
||||
|
||||
String query = "SELECT name FROM sqlite_master WHERE type='table' AND name='Version';";
|
||||
|
||||
ResultSet resultSet = stmt.executeQuery(query);
|
||||
if(resultSet.next()) { //DatabaseVersion 1.1 or higher
|
||||
resultSet.close();
|
||||
|
||||
query = "Select Number From Version";
|
||||
ResultSet rs = stmt.executeQuery(query);
|
||||
if(rs.next()) {
|
||||
String versionNumber = rs.getString("Number");
|
||||
rs.close();
|
||||
//todo stuff later here when tables are changed
|
||||
}
|
||||
|
||||
rs.close();
|
||||
} else { //DatabaseVersion 1.0
|
||||
resultSet.close();
|
||||
query = "ALTER TABLE Scores RENAME TO ClassicScores;";
|
||||
stmt.executeUpdate(query);
|
||||
|
||||
query = "CREATE TABLE RushScores (Name VARCHAR(250), Points INT(20), SongName VARCHAR(250), GameDate DATE, UsedTime INT(20))";
|
||||
stmt.executeUpdate(query);
|
||||
|
||||
query = "CREATE TABLE Version (Number VARCHAR(20))";
|
||||
stmt.executeUpdate(query);
|
||||
|
||||
query = "INSERT INTO Version (Number) values('" + VERSION + "')";
|
||||
stmt.executeUpdate(query);
|
||||
}
|
||||
}
|
||||
|
||||
public ResultSet excecuteQuery(Connection con, String query) {
|
||||
ResultSet result = null;
|
||||
try {
|
||||
|
||||
@ -39,12 +39,15 @@ public class FileMetaInfoState extends AbstractAppState implements FileMetaInfoL
|
||||
GameSettings settings, ScreenHelper screenHelper, AssetManager assetManager) {
|
||||
this.stateManager = stateManager;
|
||||
this.gui = new FileMetaInfoGUI(screen, this, settings, screenHelper, assetManager);
|
||||
this.gui.create();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startLoading() {
|
||||
stateManager.setState(State.LOADING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancel() {
|
||||
stateManager.setState(State.MENU);
|
||||
}
|
||||
|
||||
@ -84,15 +84,16 @@ public class GameState extends AbstractAppState implements GameListener, ActionL
|
||||
|
||||
this.rootNode = rootNode;
|
||||
this.audioDataManager = audioDataManager;
|
||||
this.gui = new GameGUI(screen, this, screenHelper,audioDataManager);
|
||||
this.optionSettings = optionSettings;
|
||||
this.gui = new GameGUI(screen, this, screenHelper,audioDataManager, optionSettings);
|
||||
this.gui.create();
|
||||
this.stateManager = stateManager;
|
||||
inputManager.addListener(this, new String[]{"ESC"});
|
||||
|
||||
this.inputManager = inputManager;
|
||||
this.camera = camera;
|
||||
this.assetManager = assetManager;
|
||||
this.viewPort = viewPort;
|
||||
this.optionSettings = optionSettings;
|
||||
this.viewPort = viewPort;
|
||||
this.highscoreManager = highscoreManager;
|
||||
this.settings = settings;
|
||||
|
||||
@ -147,6 +148,7 @@ public class GameState extends AbstractAppState implements GameListener, ActionL
|
||||
player.setUserData(UserDataKeys.RUNNING, running);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
gui.setStart();
|
||||
inputManager.setCursorVisible(false);
|
||||
@ -215,6 +217,7 @@ public class GameState extends AbstractAppState implements GameListener, ActionL
|
||||
return isRunning;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAction(String name, boolean isPressed, float tpf) {
|
||||
if (name.equals("ESC") && !isPressed) {
|
||||
if (isRunning) {
|
||||
@ -233,6 +236,7 @@ public class GameState extends AbstractAppState implements GameListener, ActionL
|
||||
gui.showMenu();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resume() {
|
||||
gui.resumeGame();
|
||||
inputManager.setCursorVisible(false);
|
||||
@ -246,6 +250,7 @@ public class GameState extends AbstractAppState implements GameListener, ActionL
|
||||
stateManager.setState(State.HIGHSCORE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancelTrack() {
|
||||
stateManager.setState(State.MENU);
|
||||
}
|
||||
|
||||
@ -41,9 +41,11 @@ public class HighscoreState extends AbstractAppState implements HighscoreListene
|
||||
ScreenHelper screenHelper, BackgroundMusic music, AssetManager assetManager) {
|
||||
this.stateManager = stateManager;
|
||||
this.gui = new HighscoreGUI(screen, this, highscoreManager, screenHelper, assetManager);
|
||||
this.gui.create();
|
||||
this.music = music;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void back() {
|
||||
stateManager.setState(State.MENU);
|
||||
}
|
||||
|
||||
@ -50,6 +50,7 @@ public class LoadingState extends AbstractAppState {
|
||||
ScreenHelper screenHelper, BackgroundMusic music, AssetManager assetManager) {
|
||||
this.stateManager = stateManager;
|
||||
this.gui = new LoadingGui(screen, screenHelper, assetManager);
|
||||
this.gui.create();
|
||||
this.audioDataManager = audioDataManager;
|
||||
this.settings = settings;
|
||||
this.music = music;
|
||||
|
||||
@ -42,23 +42,32 @@ public class MenuState extends AbstractAppState implements MenuListener {
|
||||
ScreenHelper screenHelper, BackgroundMusic music, AssetManager assetManager) {
|
||||
this.stateManager = stateManager;
|
||||
this.gui = new MenuGUI(screen, this, screenHelper, assetManager);
|
||||
this.gui.create();
|
||||
this.shootingStars = shootingStars;
|
||||
this.music = music;
|
||||
}
|
||||
|
||||
public Gui getGui() {
|
||||
return gui;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void selectFile() {
|
||||
stateManager.setState(State.SELECTTRACK);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exitGame() {
|
||||
shootingStars.stop();
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openhighscore() {
|
||||
stateManager.setState(State.HIGHSCORE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openOptions() {
|
||||
stateManager.setState(State.OPTIONS);
|
||||
}
|
||||
|
||||
@ -19,7 +19,11 @@ package org.wyrez.shootingstars.states;
|
||||
import com.jme3.app.state.AbstractAppState;
|
||||
import com.jme3.app.state.AppStateManager;
|
||||
import com.jme3.asset.AssetManager;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import org.wyrez.shootingstars.ShootingStars;
|
||||
import org.wyrez.shootingstars.gui.Gui;
|
||||
import org.wyrez.shootingstars.gui.OptionsGUI;
|
||||
import org.wyrez.shootingstars.gui.listener.OptionsListener;
|
||||
import org.wyrez.shootingstars.helper.ScreenHelper;
|
||||
@ -46,6 +50,7 @@ public class OptionsState extends AbstractAppState implements OptionsListener {
|
||||
this.stateManager = stateManager;
|
||||
this.settings = settings;
|
||||
this.gui = new OptionsGUI(screen, this, settings, screenHelper, assetManager);
|
||||
this.gui.create();
|
||||
this.music = music;
|
||||
}
|
||||
|
||||
@ -59,13 +64,15 @@ public class OptionsState extends AbstractAppState implements OptionsListener {
|
||||
gui.detach();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save() {
|
||||
shootingStars.setSettings(settings.getAppSettings());
|
||||
shootingStars.restart();
|
||||
shootingStars.restart();
|
||||
stateManager.setState(State.MENU);
|
||||
music.update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancel() {
|
||||
stateManager.setState(State.MENU);
|
||||
}
|
||||
|
||||
@ -60,6 +60,7 @@ public class SelectTrackState extends AbstractAppState implements SelectFileList
|
||||
this.stateManager = stateManager;
|
||||
this.settings = settings;
|
||||
this.gui = new SelectTrackGUI(screen, this, screenHelper, assetManager);
|
||||
this.gui.create();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -130,6 +131,7 @@ public class SelectTrackState extends AbstractAppState implements SelectFileList
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void selectFile() {
|
||||
wasFullscreen = optionSettings.isFullscreenEnabled();
|
||||
selectState = 0;
|
||||
@ -138,6 +140,7 @@ public class SelectTrackState extends AbstractAppState implements SelectFileList
|
||||
private void readMetadata(String file) {
|
||||
MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory("--no-video-title-show", "--quiet");
|
||||
DirectMediaPlayer mediaPlayer = mediaPlayerFactory.newDirectMediaPlayer(1, 1, new RenderCallback() {
|
||||
@Override
|
||||
public void display(DirectMediaPlayer dmp, Memory[] memorys, BufferFormat bf) {
|
||||
}
|
||||
});
|
||||
@ -158,10 +161,12 @@ public class SelectTrackState extends AbstractAppState implements SelectFileList
|
||||
mediaPlayerFactory.release();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void downloadYT() {
|
||||
stateManager.setState(State.YTDOWNLOAD);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancel() {
|
||||
stateManager.setState(State.MENU);
|
||||
}
|
||||
|
||||
@ -59,6 +59,7 @@ public class YTDownloadState extends AbstractAppState implements YTDownloadListe
|
||||
this.stateManager = stateManager;
|
||||
this.settings = settings;
|
||||
this.gui = new YTDownloadGUI(screen, this, screenHelper, assetManager);
|
||||
this.gui.create();
|
||||
this.downloader = downloader;
|
||||
}
|
||||
|
||||
@ -72,6 +73,7 @@ public class YTDownloadState extends AbstractAppState implements YTDownloadListe
|
||||
gui.detach();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void downloadYTVideo(String url) {
|
||||
try {
|
||||
Matcher matcher = YT_LINK_PATTERN.matcher(url);
|
||||
@ -119,6 +121,7 @@ public class YTDownloadState extends AbstractAppState implements YTDownloadListe
|
||||
private void readMetadata() {
|
||||
MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory("--no-video-title-show", "--quiet");
|
||||
DirectMediaPlayer mediaPlayer = mediaPlayerFactory.newDirectMediaPlayer(1, 1, new RenderCallback() {
|
||||
@Override
|
||||
public void display(DirectMediaPlayer dmp, Memory[] memorys, BufferFormat bf) {
|
||||
}
|
||||
});
|
||||
@ -141,6 +144,7 @@ public class YTDownloadState extends AbstractAppState implements YTDownloadListe
|
||||
mediaPlayerFactory.release();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancel() {
|
||||
stateManager.setState(State.MENU);
|
||||
}
|
||||
|
||||
@ -81,6 +81,7 @@ public class OptionSettings {
|
||||
setShowWeapon(true);
|
||||
setVSync(true);
|
||||
setEnableAudioVisualization(true);
|
||||
setGameMode(0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -151,6 +152,10 @@ public class OptionSettings {
|
||||
public void setThirdLastPlayedTrack(String thirdLastPlayedTrack) {
|
||||
settings.putString("ThirdLastPlayedTrack", thirdLastPlayedTrack);
|
||||
}
|
||||
|
||||
public void setGameMode(int gameMode) {
|
||||
settings.putInteger("GameMode", gameMode);
|
||||
}
|
||||
|
||||
public String getUsername() {
|
||||
return settings.getString("Username");
|
||||
@ -219,6 +224,10 @@ public class OptionSettings {
|
||||
public String getThirdLastPlayedTrack() {
|
||||
return settings.getString("ThirdLastPlayedTrack");
|
||||
}
|
||||
|
||||
public int getGameMode() {
|
||||
return settings.getInteger("GameMode");
|
||||
}
|
||||
|
||||
public void save() {
|
||||
try {
|
||||
|
||||