/** @return the configuration for the {@link GwtApplication}. */
public abstract GwtApplicationConfiguration getConfig ();
+
+ public String getPreloaderBaseURL()
+ {
+ return GWT.getHostPageBaseURL() + "assets/";
+ }
+
@Override
public void onModuleLoad () {
GwtApplication.agentInfo = computeAgentInfo();
long loadStart = TimeUtils.nanoTime();
public Preloader createPreloader() {
- return new Preloader();
+ return new Preloader(getPreloaderBaseURL());
}
public PreloaderCallback getPreloaderCallback () {
import com.badlogic.gdx.scenes.scene2d.Actor;\r
import com.badlogic.gdx.scenes.scene2d.Group;\r
import com.badlogic.gdx.scenes.scene2d.Stage;\r
+import com.badlogic.gdx.scenes.scene2d.Touchable;\r
import com.badlogic.gdx.scenes.scene2d.utils.Layout;\r
import com.badlogic.gdx.utils.SnapshotArray;\r
\r
validate();\r
super.draw(batch, parentAlpha);\r
}\r
+\r
+ public Actor hit (float x, float y, boolean touchable) {\r
+ if (touchable && getTouchable() == Touchable.disabled) return null;\r
+ if (x < 0 || x >= getWidth() || y < 0 || y >= getHeight()) return null;\r
+ return super.hit(x, y, touchable);\r
+ }\r
}\r
* This might partially sort the Array.\r
* @see Select\r
* @param comparator used for comparison\r
- * @param nthLowest rank of desired object according to comparison,\r
+ * @param kthLowest rank of desired object according to comparison,\r
* n is based on ordinal numbers, not array indices.\r
* for min value use 1, for max value use size of array, using 0 results in runtime exception.\r
* @return the value of the Nth lowest ranked object.\r
*/\r
- public T selectRanked(Comparator<T> comparator, int nthLowest) {\r
- if (nthLowest < 1) {\r
+ public T selectRanked(Comparator<T> comparator, int kthLowest) {\r
+ if (kthLowest < 1) {\r
throw new GdxRuntimeException("nth_lowest must be greater than 0, 1 = first, 2 = second...");\r
}\r
- return Select.instance().select(items, comparator, nthLowest, size);\r
+ return Select.instance().select(items, comparator, kthLowest, size);\r
}\r
\r
/** @see Array#selectRanked(java.util.Comparator, int)\r
* @param comparator used for comparison\r
- * @param nthLowest rank of desired object according to comparison,\r
+ * @param kthLowest rank of desired object according to comparison,\r
* n is based on ordinal numbers, not array indices.\r
* for min value use 1, for max value use size of array, using 0 results in runtime exception.\r
* @return the index of the Nth lowest ranked object.\r
*/\r
- public int selectRankedIndex(Comparator<T> comparator, int nthLowest) {\r
- if (nthLowest < 1) {\r
+ public int selectRankedIndex(Comparator<T> comparator, int kthLowest) {\r
+ if (kthLowest < 1) {\r
throw new GdxRuntimeException("nth_lowest must be greater than 0, 1 = first, 2 = second...");\r
}\r
- return Select.instance().selectIndex(items, comparator, nthLowest, size);\r
+ return Select.instance().selectIndex(items, comparator, kthLowest, size);\r
}\r
\r
public void reverse () {\r
}
public <T> int selectIndex(T[] items, Comparator<T> comp, int kthLowest, int size) {
- if (size < 1) throw new GdxRuntimeException("cannot select from empty array (size < 1)");
+ if (size < 1) {
+ throw new GdxRuntimeException("cannot select from empty array (size < 1)");
+ } else if (kthLowest > size) {
+ throw new GdxRuntimeException("Kth rank is larger than size. k: " + kthLowest + ", size: " + size);
+ }
int idx;
// naive partial selection sort almost certain to outperform quickselect where n is min or max
if (kthLowest == 1) {