public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException { back.draw(); for (DeckUI each : decksUI) { each.draw(); } if (askForDeck) { setp1.draw(); setp2.draw(); edit.draw(); delete.draw(); } }
public void update(GameContainer gc, StateBasedGame sbg, int arg2) throws SlickException { input = gc.getInput(); // asks if it needs to load the decks if (load) { decks = Deck.loadDecks(); if (decks != null) { int counter = 0; for (Deck each : decks) { DeckUI aux = new DeckUI(each); aux.generateCardsImg(gc); // sets the position of the deck, with it's first card aux.setFirstCard(counter * gc.getWidth() * 1 / 5, gc.getHeight() * 1 / 4); decksUI.add(aux); counter++; } } load = false; } // enter in this if when some deck has been right clicked if (askForDeck) { if (setp1.mouseLClicked(input)) { Match.getMatch().setPlayer1(new Player(new Deck(ref.getDeck()))); askForDeck = false; } else if (setp2.mouseLClicked(input)) { Match.getMatch().setPlayer2(new Player(new Deck(ref.getDeck()))); askForDeck = false; } else if (edit.mouseLClicked(input)) { NewDeckState.setEditingDeck(ref); delete(deckNum); decks = new LinkedList<Deck>(); decksUI = new LinkedList<DeckUI>(); NewDeckState.setNotBack(); sbg.enterState(3); askForDeck = false; } else if (delete.mouseLClicked(input)) { delete(deckNum); askForDeck = false; } else if (input.isMousePressed(Input.MOUSE_LEFT_BUTTON)) { askForDeck = false; } } if (back.mouseLClicked(input)) { decks = new LinkedList<Deck>(); decksUI = new LinkedList<DeckUI>(); if (backToConfig) { backToConfig = false; sbg.enterState(2); } else { sbg.enterState(1); } } if (wheelMoved) { for (DeckUI each : decksUI) { each.setFirstCard(each.getX() + mouseWheel, each.getY()); } wheelMoved = false; } for (DeckUI each : decksUI) { if (each.mouseRClicked(input)) { this.askForDeck = true; ref = new DeckUI(each); deckNum = decksUI.indexOf(each); return; } } if (gc.getInput().isKeyPressed(Input.KEY_ESCAPE)) { gc.exit(); } }