diff --git a/core/src/ru/deadsoftware/cavecraft/menu/MenuRenderer.java b/core/src/ru/deadsoftware/cavecraft/menu/MenuRenderer.java
index 4f3e3b16e3fd605e61fe0f1e9f274e3b008b61c2..d7da1c5bc0e1eadf7ea6b432465e56409c6f56e4 100644 (file)
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.utils.Array;
-import ru.deadsoftware.cavecraft.*;
+import ru.deadsoftware.cavecraft.CaveGame;
+import ru.deadsoftware.cavecraft.GameScreen;
import ru.deadsoftware.cavecraft.game.GameSaver;
+import ru.deadsoftware.cavecraft.game.Items;
import ru.deadsoftware.cavecraft.menu.objects.Button;
+import ru.deadsoftware.cavecraft.misc.AppState;
+import ru.deadsoftware.cavecraft.misc.Assets;
+import ru.deadsoftware.cavecraft.misc.Renderer;
public class MenuRenderer extends Renderer {
public Array<Button> menuMainButtons;
public MenuRenderer(int width) {
- super(width,width*((float) GameScreen.getHeight()/GameScreen.getWidth()));
+ super(width, width * ((float) GameScreen.getHeight() / GameScreen.getWidth()));
menuMainButtons = new Array<Button>();
- menuMainButtons.add(new Button("New game", getWidth()/2-100, getHeight()/4));
- menuMainButtons.add(new Button("Load game", getWidth()/2-100, getHeight()/4+30,GameSaver.exists()?1:0));
- menuMainButtons.add(new Button("Quit", getWidth()/2-100, getHeight()/4+60));
+ menuMainButtons.add(new Button("New game", getWidth() / 2 - 100, getHeight() / 4));
+ menuMainButtons.add(new Button("Load game", getWidth() / 2 - 100, getHeight() / 4 + 30, GameSaver.exists() ? 1 : 0));
+ menuMainButtons.add(new Button("Quit", getWidth() / 2 - 100, getHeight() / 4 + 60));
}
public void buttonClicked(Button button) {
if (button.getLabel().toLowerCase().equals("new game")) {
- spriteBatch.begin();
- drawGenWorld();
- spriteBatch.end();
CaveGame.STATE = AppState.GOTO_NEW_GAME;
} else if (button.getLabel().toLowerCase().equals("load game")) {
- spriteBatch.begin();
- drawGenWorld();
- spriteBatch.end();
CaveGame.STATE = AppState.GOTO_LOAD_GAME;
} else if (button.getLabel().toLowerCase().equals("quit")) {
Gdx.app.exit();
private void drawButton(Button button) {
spriteBatch.draw(Assets.menuButton[button.getType()], button.getX(), button.getY());
- setFontColor(255,255,255);
+ setFontColor(255, 255, 255);
drawString(button.getLabel(),
- (button.getX()+button.getWidth()/2)-Assets.getStringWidth(button.getLabel())/2,
- (button.getY()+button.getHeight()/2)-Assets.getStringHeight(button.getLabel())/2);
+ (button.getX() + button.getWidth() / 2) - Assets.getStringWidth(button.getLabel()) / 2,
+ (button.getY() + button.getHeight() / 2) - Assets.getStringHeight(button.getLabel()) / 2);
}
-
+
private void drawMenuMain() {
for (Button button : menuMainButtons) {
- if (button.getType()>0) {
- if (button.getRect().contains(Gdx.input.getX()*getWidth()/GameScreen.getWidth(),
- Gdx.input.getY()*getHeight()/GameScreen.getHeight()))
+ if (button.getType() > 0) {
+ if (button.getRect().contains(Gdx.input.getX() * getWidth() / GameScreen.getWidth(),
+ Gdx.input.getY() * getHeight() / GameScreen.getHeight()))
button.setType(2);
else button.setType(1);
}
}
}
- private void drawGenWorld() {
- for (int x=0; x<=getWidth()/16; x++)
- for (int y=0; y<=getHeight()/16; y++) {
- spriteBatch.draw(Items.BLOCKS.get("dirt").getTexture(), x * 16, y * 16);
- spriteBatch.draw(Assets.shade,x*16,y*16);
- }
- spriteBatch.draw(Assets.gameLogo, getWidth()/2-Assets.gameLogo.getWidth()/2, 0);
- drawString("Generating World...");
- spriteBatch.flush();
+ public void drawLabel(String str) {
+ drawString(str);
}
@Override
public void render() {
spriteBatch.begin();
- for (int x=0; x<=getWidth()/16; x++)
- for (int y=0; y<=getHeight()/16; y++) {
- spriteBatch.draw(Items.BLOCKS.get("dirt").getTexture(), x * 16, y * 16);
- spriteBatch.draw(Assets.shade,x*16,y*16);
+ for (int x = 0; x <= getWidth() / 16; x++)
+ for (int y = 0; y <= getHeight() / 16; y++) {
+ spriteBatch.draw(Assets.blockTextures[Items.BLOCKS.get("dirt").getTexture()], x * 16, y * 16);
+ spriteBatch.draw(Assets.shade, x * 16, y * 16);
}
- spriteBatch.draw(Assets.gameLogo, getWidth()/2-Assets.gameLogo.getWidth()/2, 0);
+ spriteBatch.draw(Assets.gameLogo, getWidth() / 2 - Assets.gameLogo.getWidth() / 2, 0);
switch (CaveGame.STATE) {
- case MENU_MAIN: drawMenuMain(); break;
+ case MENU_MAIN:
+ drawMenuMain();
+ break;
+ case GOTO_NEW_GAME:
+ case GOTO_LOAD_GAME:
+ drawLabel("Generating World...");
+ break;
+ case GOTO_MENU:
+ drawLabel("Saving Game...");
+ break;
}
- drawString("CaveCraft "+CaveGame.VERSION,0,
- getHeight()-Assets.getStringHeight("CaveCraft "+CaveGame.VERSION)*1.5f);
+ drawString("CaveCraft " + CaveGame.VERSION, 0,
+ getHeight() - Assets.getStringHeight("CaveCraft " + CaveGame.VERSION) * 1.5f);
spriteBatch.end();
+
+ switch (CaveGame.STATE) {
+ case GOTO_NEW_GAME:
+ CaveGame.STATE = AppState.NEW_GAME;
+ break;
+ case GOTO_LOAD_GAME:
+ CaveGame.STATE = AppState.LOAD_GAME;
+ break;
+ case GOTO_MENU:
+ CaveGame.STATE = AppState.SAVE_GAME;
+ break;
+ }
+
}
}