summaryrefslogtreecommitdiffstats
path: root/test/src/ch/asynk/gdx/board/test/MenuScreen.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/src/ch/asynk/gdx/board/test/MenuScreen.java')
-rw-r--r--test/src/ch/asynk/gdx/board/test/MenuScreen.java180
1 files changed, 0 insertions, 180 deletions
diff --git a/test/src/ch/asynk/gdx/board/test/MenuScreen.java b/test/src/ch/asynk/gdx/board/test/MenuScreen.java
deleted file mode 100644
index 892182a..0000000
--- a/test/src/ch/asynk/gdx/board/test/MenuScreen.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package ch.asynk.gdx.tabletop.test;
-
-import com.badlogic.gdx.Gdx;
-import com.badlogic.gdx.Screen;
-import com.badlogic.gdx.graphics.GL20;
-import com.badlogic.gdx.graphics.g2d.SpriteBatch;
-import com.badlogic.gdx.graphics.g2d.Sprite;
-import com.badlogic.gdx.graphics.OrthographicCamera;
-import com.badlogic.gdx.graphics.Texture;
-import com.badlogic.gdx.Input;
-import com.badlogic.gdx.InputAdapter;
-import com.badlogic.gdx.InputMultiplexer;
-import com.badlogic.gdx.math.Vector3;
-
-import ch.asynk.gdx.tabletop.ui.Alignment;
-import ch.asynk.gdx.tabletop.ui.Menu;
-import ch.asynk.gdx.tabletop.ui.Root;
-
-public class MenuScreen implements Screen
-{
- private static final String DOM = "MenuScreen";
-
- private final GdxBoardTest app;
- private final OrthographicCamera cam;
- private final SpriteBatch batch;
- private final Texture bg;
- private final Sprite corner;
- private final Root root;
- private final Menu menu;
- private boolean paused;
-
- private final float WORLD_RATIO = 0.5f;
- private final int PADDING = 15;
-
- private final Vector3 touch = new Vector3();
-
- public MenuScreen(final GdxBoardTest app)
- {
- this.app = app;
- this.batch = new SpriteBatch();
- final Assets assets = app.assets;
- this.bg = assets.getTexture(assets.MAP_00);
- this.corner = new Sprite(assets.getTexture(assets.CORNER));
-
- this.root = new Root(1);
- this.menu = new Menu(
- assets.getFont(assets.FONT_25),
- assets.getNinePatch(assets.PATCH, 23, 23, 23 ,23),
- "Menu", new String[]{"UI","Board","Exit"});
- this.menu.setAlignment(Alignment.MIDDLE_CENTER);
- this.menu.setPaddings(5, 5);
- this.menu.setSpacings(10, 5);
- this.menu.setPadding(20);
- this.menu.setLabelsOffset(10);
- this.root.add(this.menu);
-
- this.cam = new OrthographicCamera(bg.getWidth() * WORLD_RATIO, bg.getHeight() * WORLD_RATIO);
- this.cam.position.set(bg.getWidth() / 2f, bg.getHeight() / 2f, 0);
- this.cam.update();
-
- Gdx.input.setInputProcessor(getMultiplexer(this));
- this.paused = false;
- }
-
- @Override public void render(float delta)
- {
- if (paused) return;
-
- Gdx.gl.glClearColor(1, 1, 1, 1);
- Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
-
- cam.update();
- batch.setProjectionMatrix(cam.combined);
- batch.begin();
- batch.draw(bg, 0, 0);
- drawCorners(batch);
- root.draw(batch);
- batch.end();
- }
-
- private void drawCorners(SpriteBatch batch)
- {
- float right = root.getX() + root.getWidth() - corner.getWidth();
- float top = root.getY() + root.getHeight() - corner.getHeight();
- corner.setRotation(0);
- corner.setPosition(root.getX(), top);
- corner.draw(batch);
- corner.setRotation(90);
- corner.setPosition(root.getX(), root.getY());
- corner.draw(batch);
- corner.setRotation(180);
- corner.setPosition(right, root.getY());
- corner.draw(batch);
- corner.setPosition(right, top);
- corner.setRotation(270);
- corner.draw(batch);
- }
-
- @Override public void resize(int width, int height)
- {
- GdxBoardTest.debug(DOM, String.format("resize (%d,%d)",width, height));
- if (width >= height) {
- cam.viewportWidth = bg.getWidth();
- cam.viewportHeight = bg.getHeight() / (float)width * (float)height;
- } else {
- cam.viewportHeight = bg.getHeight();
- cam.viewportWidth = bg.getWidth() / (float)height * (float)width;
- }
- cam.viewportWidth *= WORLD_RATIO;
- cam.viewportHeight *= WORLD_RATIO;
- cam.update();
- root.resize(
- cam.position.x - (cam.viewportWidth / 2f) + PADDING,
- cam.position.y - (cam.viewportHeight / 2f) + PADDING,
- cam.viewportWidth - 2 * PADDING,
- cam.viewportHeight - 2 * PADDING
- );
- }
-
- @Override public void dispose()
- {
- GdxBoardTest.debug(DOM, "dispose()");
- batch.dispose();
- }
-
- @Override public void show()
- {
- GdxBoardTest.debug(DOM, "show()");
- paused = false;
- }
-
- @Override public void hide()
- {
- GdxBoardTest.debug(DOM, "hide()");
- paused = true;
- }
-
- @Override public void pause()
- {
- GdxBoardTest.debug(DOM, "pause() ");
- paused = true;
- }
-
- @Override public void resume()
- {
- GdxBoardTest.debug(DOM, "resume() ");
- resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
- paused = false;
- }
-
- private InputMultiplexer getMultiplexer(final MenuScreen screen)
- {
- final InputMultiplexer multiplexer = new InputMultiplexer();
- multiplexer.addProcessor(new InputAdapter() {
- @Override public boolean touchDown(int x, int y, int pointer, int button)
- {
- if (button == Input.Buttons.LEFT) {
- touch.set(x, y, 0);
- cam.unproject(touch);
- if (root.touch(touch.x, touch.y)) {
- switch(menu.touched()) {
- case 0:
- app.switchToUi();
- break;
- case 1:
- app.switchToBoard();
- break;
- case 2:
- app.switchToExit();
- break;
- }
- }
- }
- return true;
- }
- });
-
- return multiplexer;
- }
-}