package me.pascoej.ajario.gui.views; import me.pascoej.ajario.gui.ClientGUI; import org.lwjgl.input.Keyboard; import org.newdawn.slick.Color; import org.newdawn.slick.GameContainer; import org.newdawn.slick.Graphics; /** * Created by john on 6/15/15. */ public class OptionsView extends View { private final ClientGUI clientGUI; private static final String[] options = {"Show color guide", "Show masses"}; public OptionsView(ClientGUI clientGUI) { this.clientGUI = clientGUI; } @Override public void render(GameContainer gc, Graphics g) { int width = gc.getWidth(); int height = gc.getHeight(); int border = 30; int padding = 10; g.setColor(new Color(110, 110, 110, 100)); g.fillRoundRect(30, 30, width - 2 * border, height - 2 * border, 10); g.setColor(Color.white); int textX = border + padding; int textHeight = g.getFont().getHeight("|"); for (int i = 0; i < options.length; i++) { int numbered = i + 1; String text = numbered + ". " + options[i]; int y = border + padding + textHeight * i; g.drawString(text, textX, y); } int exitY = height - border - padding - textHeight; g.setColor(Color.red); g.drawString("Press `/~ (grave)to exit", textX, exitY); } private void pressNumber(int num) { switch (num) { case 1: clientGUI.getGameView().toggleGuide(); break; case 2: clientGUI.getGameView().toggleMasses(); break; } } @Override public boolean shouldDraw() { return true; } @Override public boolean isAcceptingInput() { return true; } @Override public void keyPressed(int key, char c) { switch (key) { case Keyboard.KEY_GRAVE: clientGUI.removeView(this); break; case 13: clientGUI.removeView(this); break; case Keyboard.KEY_1: pressNumber(1); break; case Keyboard.KEY_2: pressNumber(2); break; case Keyboard.KEY_3: pressNumber(3); break; case Keyboard.KEY_4: pressNumber(4); break; case Keyboard.KEY_5: pressNumber(5); break; case Keyboard.KEY_6: pressNumber(6); break; case Keyboard.KEY_7: pressNumber(7); break; case Keyboard.KEY_8: pressNumber(8); break; case Keyboard.KEY_9: pressNumber(9); break; } } }