diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2015-06-30 06:21:50 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2015-06-30 06:21:50 +0200 |
commit | d74bcf9bf390418df35d94b54d59df0170033f65 (patch) | |
tree | 2ceae1bd287c42b4f109c47d2360199d6076a156 /core/src/ch/asynk/tankontank/menu | |
parent | 06868b70f82ed30e46ea3fd012a0befc8380bbad (diff) | |
download | RustAndDust-d74bcf9bf390418df35d94b54d59df0170033f65.zip RustAndDust-d74bcf9bf390418df35d94b54d59df0170033f65.tar.gz |
TankOnTank -> CreepingArmor
Diffstat (limited to 'core/src/ch/asynk/tankontank/menu')
-rw-r--r-- | core/src/ch/asynk/tankontank/menu/MainMenu.java | 67 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/menu/OptionsMenu.java | 257 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/menu/ScenariosMenu.java | 141 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/menu/TutorialsMenu.java | 94 |
4 files changed, 0 insertions, 559 deletions
diff --git a/core/src/ch/asynk/tankontank/menu/MainMenu.java b/core/src/ch/asynk/tankontank/menu/MainMenu.java deleted file mode 100644 index 8147f46..0000000 --- a/core/src/ch/asynk/tankontank/menu/MainMenu.java +++ /dev/null @@ -1,67 +0,0 @@ -package ch.asynk.tankontank.menu; - -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; - -import ch.asynk.tankontank.ui.Menu; - -public class MainMenu extends Menu -{ - public enum Items implements Menu.MenuItem - { - EXIT(0), - OPTIONS(1), - TUTORIALS(2), - SCENARIOS(3), - NONE(4); - public int i; - Items(int i) - { - this.i = i; - } - public int i() { return i; } - public int last() { return NONE.i; } - }; - - public MainMenu(BitmapFont font, TextureAtlas atlas) - { - super(Items.NONE, font, atlas.createPatch("typewriter")); - - label(Items.OPTIONS).write("Options"); - label(Items.TUTORIALS).write("Tutorials"); - label(Items.SCENARIOS).write("Scenarios"); - label(Items.EXIT).write("Exit"); - - this.visible = true; - } - - public Items getMenu() - { - return (Items) menuItem; - } - - @Override - public boolean hit(float x, float y) - { - boolean ret = false; - menuItem = Items.NONE; - - if (!visible) return ret; - - if (label(Items.SCENARIOS).hit(x, y)) { - menuItem = Items.SCENARIOS; - ret = true; - } else if (label(Items.TUTORIALS).hit(x, y)) { - menuItem = Items.TUTORIALS; - ret = true; - } else if (label(Items.OPTIONS).hit(x, y)) { - menuItem = Items.OPTIONS; - ret = true; - } else if (label(Items.EXIT).hit(x, y)) { - Gdx.app.exit(); - } - - return ret; - } -} diff --git a/core/src/ch/asynk/tankontank/menu/OptionsMenu.java b/core/src/ch/asynk/tankontank/menu/OptionsMenu.java deleted file mode 100644 index c866d30..0000000 --- a/core/src/ch/asynk/tankontank/menu/OptionsMenu.java +++ /dev/null @@ -1,257 +0,0 @@ -package ch.asynk.tankontank.menu; - -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.GlyphLayout; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; - -import ch.asynk.tankontank.ui.Label; -import ch.asynk.tankontank.ui.Bg; -import ch.asynk.tankontank.ui.Patch; -import ch.asynk.tankontank.ui.OkCancel; - -import ch.asynk.tankontank.TankOnTank; - -public class OptionsMenu extends Patch -{ - public static int PADDING = 40; - public static int OK_PADDING = 10; - public static int TITLE_PADDING = 30; - public static int VSPACING = 5; - public static int HSPACING = 30; - public static String CHECK = "#"; - - private final TankOnTank game; - private final BitmapFont font; - - private String [] checkStrings = { - "Debug", - "Must Validate", - "Can Cancel", - "Show Enemy Possibilities", - "Show Moves Assists", - "Show Targets", - "Show Moves", - }; - private String [] fxStrings = { "OFF", "10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "ON" }; - - private float checkDy; - private Label title; - private Label fxVolume; - private Label fxVolumeValue; - private Label graphics; - private Label graphicsValue; - private Label gameMode; - private Label gameModeValue; - private Label [] checkLabels; - private boolean [] checkValues; - private OkCancel okCancel; - protected Bg okBtn; - - public OptionsMenu(TankOnTank game, BitmapFont font, TextureAtlas atlas) - { - super(atlas.createPatch("typewriter")); - this.game = game; - this.font = font; - this.okCancel = new OkCancel(font, atlas); - this.okBtn = new Bg(atlas.findRegion("ok")); - this.title = new Label(font); - this.title.write("- Options"); - this.fxVolume = new Label(font); - this.fxVolume.write("Fx Volume"); - this.fxVolumeValue = new Label(font); - this.fxVolumeValue.write(fxStrings[(int) (game.config.fxVolume * 10)]); - this.graphics = new Label(font); - this.graphics.write("Graphics"); - this.graphicsValue = new Label(font); - this.graphicsValue.write(game.config.graphics.s); - this.gameMode = new Label(font); - this.gameMode.write("Game mode"); - this.gameModeValue = new Label(font); - this.gameModeValue.write(game.config.gameMode.s); - this.checkValues = new boolean[checkStrings.length]; - this.checkLabels = new Label[checkStrings.length]; - for (int i = 0; i < checkLabels.length; i++) { - Label l = new Label(font, 5f); - l.write(checkStrings[i]); - this.checkLabels[i] = l; - } - getValues(); - GlyphLayout layout = new GlyphLayout(); - layout.setText(font, CHECK); - checkDy = layout.height + 5; - - this.visible = false; - } - - private void getValues() - { - checkValues[6] = game.config.showMoves; - checkValues[5] = game.config.showTargets; - checkValues[4] = game.config.showMoveAssists; - checkValues[3] = game.config.showEnemyPossibilities; - checkValues[2] = game.config.canCancel; - checkValues[1] = game.config.mustValidate; - checkValues[0] = game.config.debug; - } - - private boolean apply() - { - game.config.showMoves = checkValues[6]; - game.config.showTargets = checkValues[5]; - game.config.showMoveAssists = checkValues[4]; - game.config.showEnemyPossibilities = checkValues[3]; - game.config.canCancel = checkValues[2]; - game.config.mustValidate = checkValues[1]; - game.config.debug = checkValues[0]; - if (!game.config.gameModeImplemented()) { - this.visible = false; - okCancel.show(String.format("'%s' Game Mode not implemented yet.", game.config.gameMode.s)); - okCancel.noCancel(); - return false; - } - return true; - } - - private void cycleFxVolume() - { - int i = (int) (game.config.fxVolume * 10) + 1; - if (i > 10) i = 0; - float fx = fxVolumeValue.getX(); - float fy = fxVolumeValue.getY(); - fxVolumeValue.write(fxStrings[i]); - fxVolumeValue.setPosition(fx, fy); - game.config.fxVolume = (i / 10f); - } - - private void cycleGraphics() - { - game.config.graphics = game.config.graphics.next(); - float fx = graphicsValue.getX(); - float fy = graphicsValue.getY(); - graphicsValue.write(game.config.graphics.s); - graphicsValue.setPosition(fx, fy); - } - - private void cycleGameMode() - { - game.config.gameMode = game.config.gameMode.next(); - float fx = gameModeValue.getX(); - float fy = gameModeValue.getY(); - gameModeValue.write(game.config.gameMode.s); - gameModeValue.setPosition(fx, fy); - } - - public void setPosition() - { - float h = (title.getHeight() + TITLE_PADDING + ((checkLabels.length - 1) * VSPACING) + (2 * PADDING)); - for (int i = 0; i < checkLabels.length; i++) - h += checkLabels[i].getHeight(); - h += (graphics.getHeight() + VSPACING); - h += (gameMode.getHeight() + VSPACING); - h += (fxVolume.getHeight() + VSPACING); - - float w = title.getWidth(); - for (int i = 0; i < checkLabels.length; i++) { - float t = checkLabels[i].getWidth(); - if (t > w) - w = t; - } - w += (2 * PADDING) + HSPACING; - - float x = position.getX(w); - float y = position.getY(h); - setPosition(x, y, w, h); - - okBtn.setPosition((x + w - okBtn.getWidth() + OK_PADDING), (y - OK_PADDING)); - - y += PADDING; - x += PADDING + HSPACING; - float dy = (VSPACING + checkLabels[0].getHeight()); - - graphics.setPosition(x, y); - graphicsValue.setPosition((x + graphics.getWidth() + 10), y); - y += dy; - gameMode.setPosition(x, y); - gameModeValue.setPosition((x + gameMode.getWidth() + 10), y); - y += dy; - fxVolume.setPosition(x, y); - fxVolumeValue.setPosition((x + fxVolume.getWidth() + 10), y); - y += dy; - for (int i = 0; i < checkLabels.length; i++) { - checkLabels[i].setPosition(x, y); - y += dy; - } - y += (TITLE_PADDING - VSPACING); - title.setPosition(x, y); - } - - @Override - public boolean hit(float x, float y) - { - if (okCancel.hit(x, y)) { - this.visible = true; - okCancel.visible = false; - return false; - } - - if (!visible) return false; - - if (okBtn.hit(x, y)) { - return apply(); - } else if (fxVolume.hit(x, y) || fxVolumeValue.hit(x, y)) { - cycleFxVolume(); - } else if (graphics.hit(x, y) || graphicsValue.hit(x, y)) { - cycleGraphics(); - } else if (gameMode.hit(x, y) || gameModeValue.hit(x, y)) { - cycleGameMode(); - } else { - for (int i = 0; i < checkLabels.length; i++) { - if (checkLabels[i].hit(x, y)) - checkValues[i] =! checkValues[i]; - } - } - - return false; - } - - @Override - public void dispose() - { - super.dispose(); - title.dispose(); - okBtn.dispose(); - okCancel.dispose(); - fxVolume.dispose(); - fxVolumeValue.dispose(); - graphics.dispose(); - graphicsValue.dispose(); - gameMode.dispose(); - gameModeValue.dispose(); - for (int i = 0; i < checkLabels.length; i++) - checkLabels[i].dispose(); - } - - @Override - public void draw(Batch batch) - { - okCancel.draw(batch); - - if (!visible) return; - super.draw(batch); - title.draw(batch); - okBtn.draw(batch); - fxVolume.draw(batch); - fxVolumeValue.draw(batch); - graphics.draw(batch); - graphicsValue.draw(batch); - gameMode.draw(batch); - gameModeValue.draw(batch); - for (int i = 0; i < checkLabels.length; i++) { - Label l = checkLabels[i]; - l.draw(batch); - if (checkValues[i]) - font.draw(batch, CHECK, (l.getX() - HSPACING) , l.getY() + checkDy); - } - } -} diff --git a/core/src/ch/asynk/tankontank/menu/ScenariosMenu.java b/core/src/ch/asynk/tankontank/menu/ScenariosMenu.java deleted file mode 100644 index 7cd6499..0000000 --- a/core/src/ch/asynk/tankontank/menu/ScenariosMenu.java +++ /dev/null @@ -1,141 +0,0 @@ -package ch.asynk.tankontank.menu; - -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.GlyphLayout; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; - -import ch.asynk.tankontank.ui.Label; -import ch.asynk.tankontank.ui.Bg; -import ch.asynk.tankontank.ui.Patch; -import ch.asynk.tankontank.TankOnTank; -import ch.asynk.tankontank.game.Battle; - -public class ScenariosMenu extends Patch -{ - public static int PADDING = 40; - public static int BTN_PADDING = 10; - public static int TITLE_PADDING = 30; - public static int VSPACING = 5; - public static int HSPACING = 30; - public static String CHECK = "#"; - - private final TankOnTank game; - private final BitmapFont font; - - private float checkDy; - private Label title; - protected Bg okBtn; - protected Bg cancelBtn; - private Label [] battleLabels; - - public boolean launch; - - public ScenariosMenu(TankOnTank game, BitmapFont font, TextureAtlas atlas) - { - super(atlas.createPatch("typewriter")); - this.game = game; - this.font = font; - this.okBtn = new Bg(atlas.findRegion("ok")); - this.cancelBtn = new Bg(atlas.findRegion("cancel")); - this.title = new Label(font); - this.title.write("- Scenarios"); - this.battleLabels = new Label[game.factory.battles.length]; - for (int i = 0; i < battleLabels.length; i++) { - Label l = new Label(font, 8f); - l.write(game.factory.battles[i].getName()); - battleLabels[i] = l; - } - GlyphLayout layout = new GlyphLayout(); - layout.setText(font, CHECK); - checkDy = layout.height + 9; - - this.visible = false; - this.launch = false; - } - - public void setPosition() - { - float h = (title.getHeight() + TITLE_PADDING + ((battleLabels.length - 1) * VSPACING) + (2 * PADDING)); - for (int i = 0; i < battleLabels.length; i++) - h += battleLabels[i].getHeight(); - - float w = title.getWidth(); - for (int i = 0; i < battleLabels.length; i++) { - float t = battleLabels[i].getWidth(); - if (t > w) - w = t; - } - w += (2 * PADDING) + HSPACING; - - float x = position.getX(w); - float y = position.getY(h); - setPosition(x, y, w, h); - - okBtn.setPosition((x + w - okBtn.getWidth() + BTN_PADDING), (y - BTN_PADDING)); - cancelBtn.setPosition((x - BTN_PADDING), okBtn.getY()); - - y += PADDING; - x += PADDING + HSPACING; - float dy = (VSPACING + battleLabels[0].getHeight()); - - for (int i = (battleLabels.length - 1); i > -1; i--) { - battleLabels[i].setPosition(x, y); - y += dy; - } - y += (TITLE_PADDING - VSPACING); - title.setPosition(x, y); - } - - @Override - public boolean hit(float x, float y) - { - if (!visible) return false; - - if (okBtn.hit(x, y)) { - this.launch = (game.config.battle != null); - return true; - } else if (cancelBtn.hit(x, y)) { - this.launch = false; - return true; - } else { - for (int i = 0; i <battleLabels.length; i++) { - if (battleLabels[i].hit(x, y)) { - if (game.config.battle == game.factory.battles[i]) - game.config.battle = null; - else - game.config.battle = game.factory.battles[i]; - } - } - } - - return false; - } - - @Override - public void dispose() - { - super.dispose(); - title.dispose(); - okBtn.dispose(); - cancelBtn.dispose(); - for (int i = 0; i < battleLabels.length; i++) - battleLabels[i].dispose(); - } - - @Override - public void draw(Batch batch) - { - if (!visible) return; - super.draw(batch); - title.draw(batch); - okBtn.draw(batch); - cancelBtn.draw(batch); - for (int i = 0; i < battleLabels.length; i++) { - Label l = battleLabels[i]; - l.draw(batch); - if (game.config.battle == game.factory.battles[i]) - font.draw(batch, CHECK, (l.getX() - HSPACING) , l.getY() + checkDy); - } - } -} diff --git a/core/src/ch/asynk/tankontank/menu/TutorialsMenu.java b/core/src/ch/asynk/tankontank/menu/TutorialsMenu.java deleted file mode 100644 index 28f7276..0000000 --- a/core/src/ch/asynk/tankontank/menu/TutorialsMenu.java +++ /dev/null @@ -1,94 +0,0 @@ -package ch.asynk.tankontank.menu; - -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; - -import ch.asynk.tankontank.ui.Label; -import ch.asynk.tankontank.ui.Bg; -import ch.asynk.tankontank.ui.Patch; -import ch.asynk.tankontank.TankOnTank; - -public class TutorialsMenu extends Patch -{ - public static int PADDING = 40; - public static int OK_PADDING = 10; - public static int TITLE_PADDING = 30; - public static int VSPACING = 20; - - private final TankOnTank game; - private final BitmapFont font; - - private Label title; - private Label msg; - protected Bg okBtn; - - public TutorialsMenu(TankOnTank game, BitmapFont font, TextureAtlas atlas) - { - super(atlas.createPatch("typewriter")); - this.game = game; - this.font = font; - this.okBtn = new Bg(atlas.findRegion("ok")); - this.title = new Label(font); - this.title.write("- Tutorials"); - this.msg = new Label(font); - this.msg.write("Not implemented yet."); - - this.visible = false; - } - - public void setPosition() - { - float h = (title.getHeight() + TITLE_PADDING + (2 * PADDING)); - h += msg.getHeight(); - - float w = title.getWidth(); - if (msg.getWidth() > w) - w = msg.getWidth(); - w += (2 * PADDING); - - float x = position.getX(w); - float y = position.getY(h); - setPosition(x, y, w, h); - - okBtn.setPosition((x + w - okBtn.getWidth() + OK_PADDING), (y - OK_PADDING)); - - y += PADDING; - x += PADDING; - - msg.setPosition(x, y); - - y += (msg.getHeight() + TITLE_PADDING); - title.setPosition(x, y); - } - - @Override - public boolean hit(float x, float y) - { - if (!visible) return false; - - if (okBtn.hit(x, y)) - return true; - - return false; - } - - @Override - public void dispose() - { - super.dispose(); - title.dispose(); - msg.dispose(); - okBtn.dispose(); - } - - @Override - public void draw(Batch batch) - { - if (!visible) return; - super.draw(batch); - title.draw(batch); - msg.draw(batch); - okBtn.draw(batch); - } -} |