package rts.views;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.StateBasedGame;
import org.newdawn.slick.state.transition.FadeInTransition;
import org.newdawn.slick.state.transition.FadeOutTransition;
import de.matthiasmann.twl.Button;
import de.matthiasmann.twl.Label;
import de.matthiasmann.twl.Widget;
import rts.core.Game;
import rts.utils.ResourceManager;
/**
* Menu associated to the credits.
*
* @author Vincent PIRAULT
*
*/
public class CreditsView extends View {
private Image background;
private Image title;
@Override
public void initResources() {
background = ResourceManager.getImage("credit_view_background");
title = ResourceManager.getSpriteSheet("menutitles").getSprite(0, 4);
}
@Override
public void initTwlComponent() {
int x = container.getWidth() / 2;
int y = container.getHeight() / 2;
Widget w = new Widget();
w.setSize(300, 480);
w.setPosition(x - 150, y - 240);
Label l = new Label("--- LuaWars Development Team ---");
l.setPosition(44, 35);
w.add(l);
l = new Label("Greg Slepak");
l.setPosition(110, 85);
w.add(l);
l = new Label("Austin Baylis");
l.setPosition(110, 125);
w.add(l);
l = new Label("Max Ussin");
l.setPosition(110, 160);
w.add(l);
l = new Label("David Garcia");
l.setPosition(110, 200);
w.add(l);
l = new Label("Trung Nguyen");
l.setPosition(110, 240);
w.add(l);
l = new Label("");
l.setPosition(78, 210);
w.add(l);
l = new Label("--- Also Thanks To ---");
l.setPosition(90, 340);
w.add(l);
l = new Label("Vin789");
l.setPosition(60, 360); // 330
w.add(l);
l = new Label("Mr Qqn");
l.setPosition(130, 360);
w.add(l);
l = new Label("Karam");
l.setPosition(210, 360);
w.add(l);
l = new Label("Kryo");
l.setPosition(60, 380);
w.add(l);
l = new Label("Sisko");
l.setPosition(130, 380);
w.add(l);
l = new Label("Yoro");
l.setPosition(210, 380);
w.add(l);
l = new Label("Lostgarden.com");
l.setPosition(60, 410);
w.add(l);
root.add(w);
Button exitButton = new Button("Back");
exitButton.setSize(70, 30);
exitButton.setPosition(x - 350, y + 250);
exitButton.addCallback(new Runnable() {
@Override
public void run() {
game.enterState(Game.MAIN_MENU_VIEW_ID, new FadeOutTransition(), new FadeInTransition());
}
});
root.add(exitButton);
}
@Override
public int getID() {
return Game.CREDITS_VIEW_ID;
}
@Override
public void render(GameContainer container, StateBasedGame sbGame, Graphics g) throws SlickException {
g.drawImage(background, 0, 0);
g.drawImage(title, container.getWidth() / 2 - 65, container.getHeight() / 2 - 280);
super.render(container, game, g);
}
}