Advertisement
huneater

JoinState.class

Apr 21st, 2013
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.38 KB | None | 0 0
  1. package game;
  2.  
  3. import gui.ActionHandler;
  4. import gui.Button;
  5. import gui.GUIManager;
  6. import gui.TextField;
  7. import org.newdawn.slick.*;
  8. import org.newdawn.slick.state.BasicGameState;
  9. import org.newdawn.slick.state.StateBasedGame;
  10.  
  11. /**
  12.  * User: Zsolt
  13.  * Date: 2013.04.21.
  14.  * Time: 15:38
  15.  */
  16.  
  17. public class JoinState extends BasicGameState {
  18.     GUIManager guiManager = new GUIManager();
  19.     private int width, height;
  20.     private Button cancelButton, joinButton;
  21.     private TextField ipField;
  22.  
  23.     @Override
  24.     public int getID() {
  25.         return 2;
  26.     }
  27.  
  28.     @Override
  29.     public void init(GameContainer gc, final StateBasedGame sbg) throws SlickException {
  30.         final Input input = gc.getInput();
  31.         width = gc.getWidth();
  32.         height = gc.getHeight();
  33.  
  34.         cancelButton = new Button(width / 2, height / 2 + 60, 200, 50);
  35.         cancelButton.setText("cancel");
  36.         cancelButton.add(new ActionHandler() {
  37.             @Override
  38.             public void pressed() {
  39.                 sbg.enterState(new MenuState().getID());
  40.             }
  41.  
  42.             @Override
  43.             public void hover() {
  44.                 cancelButton.setColor(Color.orange);
  45.             }
  46.  
  47.             @Override
  48.             public void notHover() {
  49.                 cancelButton.setColor(Color.gray);
  50.             }
  51.         });
  52.         guiManager.add(cancelButton);
  53.  
  54.         ipField = new TextField(width / 2, height / 2 - 60, 200, 50);
  55.         ipField.add(new ActionHandler() {
  56.             @Override
  57.             public void pressed() {
  58.                 ipField.setFocused(true);
  59.             }
  60.  
  61.             @Override
  62.             public void hover() {
  63.             }
  64.  
  65.             @Override
  66.             public void notHover() {
  67.                 if (input.isMousePressed(0)) {
  68.                     ipField.setFocused(false);
  69.                 }
  70.             }
  71.         });
  72.         guiManager.add(ipField);
  73.  
  74.         joinButton = new Button(width / 2, height / 2, 200, 50);
  75.         joinButton.setText("Join");
  76.         joinButton.add(new ActionHandler() {
  77.             @Override
  78.             public void pressed() {
  79.             }
  80.  
  81.             @Override
  82.             public void hover() {
  83.                 joinButton.setColor(Color.orange);
  84.             }
  85.  
  86.             @Override
  87.             public void notHover() {
  88.                 joinButton.setColor(Color.gray);
  89.             }
  90.         });
  91.         guiManager.add(joinButton);
  92.     }
  93.  
  94.     @Override
  95.     public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException {
  96.         cancelButton.render(gc, g);
  97.         ipField.render(gc, g);
  98.         joinButton.render(gc, g);
  99.         g.drawString("IP ADDRESS:", width/2 - g.getFont().getWidth("IP ADDRESS")/2, height/2 - 100);
  100.     }
  101.  
  102.     @Override
  103.     public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException {
  104.         Input input = gc.getInput();
  105.  
  106.         if (width != gc.getWidth()) {
  107.             width = gc.getWidth();
  108.  
  109.             cancelButton.setX(width / 2);
  110.             ipField.setX(width / 2);
  111.             joinButton.setX(width / 2);
  112.         }
  113.  
  114.         if (height != gc.getHeight()) {
  115.             height = gc.getHeight();
  116.  
  117.             cancelButton.setY(height / 2 + 60);
  118.             ipField.setY(height / 2 - 60);
  119.             joinButton.setY(height / 2);
  120.         }
  121.  
  122.         guiManager.update(gc, delta);
  123.     }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement