Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.tudarmstadt.informatik.fop.breakout.ui;
- import org.newdawn.slick.GameContainer;
- import org.newdawn.slick.Graphics;
- import org.newdawn.slick.Image;
- import org.newdawn.slick.SlickException;
- import org.newdawn.slick.geom.Vector2f;
- import org.newdawn.slick.state.BasicGameState;
- import org.newdawn.slick.state.StateBasedGame;
- import eea.engine.action.Action;
- import eea.engine.action.basicactions.ChangeStateInitAction;
- import eea.engine.component.render.ImageRenderComponent;
- import eea.engine.entity.Entity;
- import eea.engine.entity.StateBasedEntityManager;
- import eea.engine.event.ANDEvent;
- import eea.engine.event.basicevents.MouseClickedEvent;
- import eea.engine.event.basicevents.MouseEnteredEvent;
- public class VictoryState extends BasicGameState{
- private int stateID = Breakout.VICTORY_STATE;
- private StateBasedEntityManager entityManager;
- private final int distance = 100;
- private final int start_Position = 180;
- /**
- * erstellt einen VictoryState
- * @param sid für StateID
- */
- VictoryState( int sid ) {
- stateID = sid;
- entityManager = StateBasedEntityManager.getInstance();
- }
- @Override
- public void init(GameContainer container, StateBasedGame game) throws SlickException {
- // TODO Automatisch generierter Methodenstub
- Entity backgroundVictory = new Entity("victory"); // Entitaet fuer Hintergrund
- backgroundVictory.setPosition(new Vector2f(400,300)); // Startposition des Hintergrunds
- backgroundVictory.addComponent(new ImageRenderComponent(new Image("/images/menu.png")));
- entityManager.addEntity(this.stateID, backgroundVictory);
- String Victory = "YOU WON!";
- Entity victory_Entity = new Entity(Victory);
- // Setze Position und Bildkomponente
- victory_Entity.setPosition(new Vector2f(150, 190));
- victory_Entity.setScale(10f);
- victory_Entity.addComponent(new ImageRenderComponent(new Image("/images/entry.png")));
- ANDEvent neededEvents = new ANDEvent(new MouseEnteredEvent(), new MouseClickedEvent());
- Action gameOver_Action = new ChangeStateInitAction(Breakout.MAINMENU_STATE);
- neededEvents.addAction(gameOver_Action);
- victory_Entity.addComponent(neededEvents);
- // Fuege die Entity zum StateBasedEntityManager hinzu
- entityManager.addEntity(this.stateID, victory_Entity);
- }
- @Override
- public void render(GameContainer container, StateBasedGame game,
- Graphics g) throws SlickException {
- entityManager.renderEntities(container, game, g);
- int counter = 0;
- g.drawString("YOU WON!", 110, start_Position+counter*distance); counter++;
- } //ausgeben der Nachricht "YOU WON!" im VictoryState
- @Override
- public void update(GameContainer container, StateBasedGame game, int delta)
- throws SlickException {
- // TODO Automatisch generierter Methodenstub
- entityManager.updateEntities(container, game, delta);
- }
- @Override
- public int getID() {
- // TODO Automatisch generierter Methodenstub
- return stateID;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement