package com.rebelkeithy.ftl.view.scene;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.rebelkeithy.ftl.view.Button;
import com.rebelkeithy.ftl.view.TextureRegistry;
import com.rebelkeithy.ftl.view.scene.mainmenu.NewGameButton;
import com.rebelkeithy.ftl.view.scene.mainmenu.QuitButton;
public class MainMenu implements FTLScreen
{
public OrthographicCamera camera;
private SpriteBatch batch;
private Texture background;
private Button bContinue;
private Button bNew;
private Button bTutorial;
private Button bStats;
private Button bOptions;
private Button bCredits;
private Button bQuit;
public MainMenu()
{
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
camera = new OrthographicCamera(w, h);
camera.position.x += w/2;
camera.position.y += h/2;
camera.update();
batch = new SpriteBatch();
background = TextureRegistry.registerSprite("main_base2", "main_menus/main_base2");
Texture continueOn = TextureRegistry.registerSprite("continue_on", "main_menus/continue_on");
Texture continueOff = TextureRegistry.registerSprite("continue_off", "main_menus/continue_off");
Texture continueSelected = TextureRegistry.registerSprite("continue_select2", "main_menus/continue_select2");
bContinue = new Button(1202 - continueOn.getWidth(), 395, continueOn);
bContinue.setHoverImage(continueSelected);
bContinue.setDownImage(continueSelected);
bContinue.setDisabledImage(continueOff);
bContinue.setDisabled(true);
Texture newOn = TextureRegistry.registerSprite("start_on", "main_menus/start_on");
Texture newSelected = TextureRegistry.registerSprite("start_select2", "main_menus/start_select2");
bNew = new NewGameButton(1201 - newOn.getWidth(), 337, newOn);
bNew.setHoverImage(newSelected);
bNew.setDownImage(newSelected);
Texture tutorialOn = TextureRegistry.registerSprite("tutorial_on", "main_menus/tutorial_on");
Texture tutorialOff = TextureRegistry.registerSprite("tutorial_off", "main_menus/tutorial_off");
Texture tutorialSelect = TextureRegistry.registerSprite("tutorial_select2", "main_menus/tutorial_select2");
bTutorial = new Button(500, 300, tutorialOn);
bTutorial.setHoverImage(tutorialSelect);
bTutorial.setDownImage(tutorialSelect);
bTutorial.setDisabledImage(tutorialOff);
Texture statsOn = TextureRegistry.registerSprite("stats_on", "main_menus/stats_on");
Texture statsOff = TextureRegistry.registerSprite("stats_off", "main_menus/stats_off");
Texture statsSelected = TextureRegistry.registerSprite("stats_select2", "main_menus/stats_select2");
bStats = new Button(500, 300, statsOn);
bStats.setHoverImage(statsSelected);
bStats.setDownImage(statsSelected);
bStats.setDisabledImage(statsOff);
Texture optionsOn = TextureRegistry.registerSprite("options_on", "main_menus/options_on");
Texture optionsOff = TextureRegistry.registerSprite("options_off", "main_menus/options_off");
Texture optionsSelected = TextureRegistry.registerSprite("options_select2", "main_menus/options_select2");
bOptions = new Button(500, 300, optionsOn);
bOptions.setHoverImage(optionsSelected);
bOptions.setDownImage(optionsSelected);
bOptions.setDisabledImage(optionsOff);
Texture creditsOn = TextureRegistry.registerSprite("credits_on", "main_menus/credits_on");
Texture creditsOff = TextureRegistry.registerSprite("credits_off", "main_menus/credits_off");
Texture creditsSelected = TextureRegistry.registerSprite("credits_select2", "main_menus/credits_select2");
bCredits = new Button(500, 300, creditsOn);
bCredits.setHoverImage(creditsSelected);
bCredits.setDownImage(creditsSelected);
bCredits.setDisabledImage(creditsOff);
Texture quitOn = TextureRegistry.registerSprite("quit_on", "main_menus/quit_on");
Texture quitOff = TextureRegistry.registerSprite("quit_off", "main_menus/quit_off");
Texture quitSelected = TextureRegistry.registerSprite("quit_select2", "main_menus/quit_select2");
bQuit = new QuitButton(500, 300, quitOn);
bQuit.setHoverImage(quitSelected);
bQuit.setDownImage(quitSelected);
bQuit.setDisabledImage(quitOff);
}
@Override
public void render(float delta)
{
Gdx.gl.glClearColor(31/256f, 34/256f, 38/256f, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
bTutorial.setPosition(1201 - bTutorial.getWidth(), 279);
bStats.setPosition(1201 - bStats.getWidth(), 221);
bOptions.setPosition(1201 - bOptions.getWidth(), 163);
bCredits.setPosition(1201 - bCredits.getWidth(), 105);
bQuit.setPosition(1201 - bQuit.getWidth(), 47);
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.draw(background, 1, 0);
bContinue.render(batch);
bNew.render(batch);
bTutorial.render(batch);
bStats.render(batch);
bOptions.render(batch);
bCredits.render(batch);
bQuit.render(batch);
batch.end();
}
@Override
public void resize(int width, int height)
{
}
@Override
public void show()
{
}
@Override
public void hide()
{
}
@Override
public void pause()
{
}
@Override
public void resume()
{
}
@Override
public void dispose()
{
}
@Override
public boolean click(int screenX, int screenY, int button)
{
if(bContinue.click(screenX, screenY, button))
return true;
if(bNew.click(screenX, screenY, button))
return true;
if(bTutorial.click(screenX, screenY, button))
return true;
if(bStats.click(screenX, screenY, button))
return true;
if(bOptions.click(screenX, screenY, button))
return true;
if(bCredits.click(screenX, screenY, button))
return true;
if(bQuit.click(screenX, screenY, button))
return true;
return false;
}
public void setTooltipText(String text, int x, int y, int width, int height)
{
}
}