|
@@ -1,99 +0,0 @@
|
|
|
-package squidpony.squidgrid.gui.gdx;
|
|
|
-
|
|
|
-import com.badlogic.gdx.ApplicationAdapter;
|
|
|
-import com.badlogic.gdx.Gdx;
|
|
|
-import com.badlogic.gdx.graphics.Color;
|
|
|
-import squidpony.SquidTags;
|
|
|
-
|
|
|
-/**
|
|
|
- * A partial application adapter that uses the Zodiac-Square fonts. It should be
|
|
|
- * completed as follows: the {@link #create()} method should assign
|
|
|
- * {@link #screen}. Then, you should implement
|
|
|
- * {@link AbstractSquidScreen#getNext()}; and you'll be done.
|
|
|
- *
|
|
|
- * @author smelC
|
|
|
- */
|
|
|
-public class SquidApplicationAdapter extends ApplicationAdapter {
|
|
|
-
|
|
|
- protected final IPanelBuilder ipb;
|
|
|
-
|
|
|
- /** Should be assigned in {@link #create()} */
|
|
|
- protected /* @Nullable */ AbstractSquidScreen<Color> screen;
|
|
|
-
|
|
|
- /**
|
|
|
- * An {@link IPanelBuilder} that specifies which font sizes are
|
|
|
- * available. Use {@link IPanelBuilder.Skeleton} to help build
|
|
|
- * this instance.
|
|
|
- */
|
|
|
- public SquidApplicationAdapter() {
|
|
|
- this.ipb = new SquidPanelBuilder(12, 24, 0, DefaultResources.getSCC(), null) {
|
|
|
- @Override
|
|
|
- protected String fontfile(int sz) {
|
|
|
- if (sz == 12)
|
|
|
- return "Zodiac-Square-12x12.fnt";
|
|
|
- else if (sz == 24)
|
|
|
- return "Zodiac-Square-24x24.fnt";
|
|
|
- else
|
|
|
- throw new IllegalStateException(
|
|
|
- "Sorry! This panel builder only supports a square font of size 12 or 24");
|
|
|
- }
|
|
|
- };
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void render() {
|
|
|
- if (screen == null) {
|
|
|
- /* Weird */
|
|
|
- Gdx.app.log(SquidTags.SCREEN,
|
|
|
- "Unexpected state in " + getClass().getSimpleName() + ". Did create get called ?");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if (screen.isDisposed()) {
|
|
|
- screen = screen.getNext();
|
|
|
- if (screen == null) {
|
|
|
- /* Quit */
|
|
|
- Gdx.app.exit();
|
|
|
- /* This point is unreachable */
|
|
|
- }
|
|
|
- } else if (screen.hasPendingResize())
|
|
|
- /* Rebuild a new screen */
|
|
|
- screen = screen.getNext();
|
|
|
- else
|
|
|
- /* Normal behavior, forward */
|
|
|
- screen.render(Gdx.graphics.getDeltaTime());
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void resize(int width, int height) {
|
|
|
- if (screen == null) {
|
|
|
- /* Weird */
|
|
|
- Gdx.app.log(SquidTags.SCREEN,
|
|
|
- "Unexpected state in " + getClass().getSimpleName() + ". Did create get called ?");
|
|
|
- } else
|
|
|
- /* forward */
|
|
|
- screen.resize(width, height);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void pause() {
|
|
|
- if (screen != null)
|
|
|
- /* forward */
|
|
|
- screen.pause();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void resume() {
|
|
|
- if (screen != null)
|
|
|
- /* forward */
|
|
|
- screen.pause();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void dispose() {
|
|
|
- if (screen != null)
|
|
|
- /* forward, to clean up */
|
|
|
- screen.dispose();
|
|
|
- }
|
|
|
-
|
|
|
-}
|