diff --git a/core/src/ru/deadsoftware/cavecraft/menu/MenuRenderer.java b/core/src/ru/deadsoftware/cavecraft/menu/MenuRenderer.java
index 0f8011d2bac8184e66f5ac1433883255e6fcca57..76f2355760cbf15245cfb5b8fad6bbc526839f63 100644 (file)
package ru.deadsoftware.cavecraft.menu;
-import ru.deadsoftware.cavecraft.Assets;
-import ru.deadsoftware.cavecraft.GameScreen;
-import ru.deadsoftware.cavecraft.Items;
-import ru.deadsoftware.cavecraft.Renderer;
+import com.badlogic.gdx.Gdx;
+import com.badlogic.gdx.utils.Array;
+import ru.deadsoftware.cavecraft.*;
+import ru.deadsoftware.cavecraft.menu.objects.Button;
public class MenuRenderer extends Renderer {
- public MenuRenderer() {
- super(480,480*((float) GameScreen.getHeight()/GameScreen.getWidth()));
+ public Array<Button> buttons;
+
+ public MenuRenderer(int width) {
+ super(width,width*((float) GameScreen.getHeight()/GameScreen.getWidth()));
+ buttons = new Array<Button>();
+ buttons.add(new Button("Play", getWidth()/2-100, getHeight()/4));
+ buttons.add(new Button("Quit", getWidth()/2-100, getHeight()/4+30));
+ }
+
+ public void buttonClicked(Button button) {
+ if (button.getLabel().toLowerCase().equals("play")) {
+ CaveGame.STATE = GameState.RESTART;
+ } 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());
+ drawString(button.getLabel(),
+ (button.getX()+button.getWidth()/2)-Assets.getStringWidth(button.getLabel())/2,
+ (button.getY()+button.getHeight()/2)-Assets.getStringHeight(button.getLabel())/2);
}
@Override
for (int y=0; y<=getHeight(); y++)
spriteBatch.draw(Items.BLOCKS.get("dirt").getTexture(),x*16,y*16);
spriteBatch.draw(Assets.gameLogo, getWidth()/2-Assets.gameLogo.getWidth()/2, 0);
+ for (Button button : buttons) {
+ if (button.getRect().contains(Gdx.input.getX()*getWidth()/GameScreen.getWidth(),
+ Gdx.input.getY()*getHeight()/GameScreen.getHeight()) && button.getType()>0) {
+ button.setType(2);
+ } else {
+ button.setType(1);
+ }
+ drawButton(button);
+ }
+ drawString("CaveCraft "+CaveGame.VERSION,0,
+ getHeight()-Assets.getStringHeight("CaveCraft "+CaveGame.VERSION)*2);
spriteBatch.end();
}
}