@Override public void initResources() { final int MARGIN = 30; int x = container.getWidth(); int y = container.getHeight(); Image tmp = ResourceManager.getImage("butRetour"); int larg = tmp.getWidth(); int haut = tmp.getHeight(); int yBut = y - haut - MARGIN; shapeListeServers = new Rectangle(MARGIN, 50, x / 2 - MARGIN - 10, yBut - 50); listeServers = new ListeDeroulante( container, ResourceManager.getImage("transparent"), (int) shapeListeServers.getX() + 5, (int) shapeListeServers.getY() + 5); listeServers.setScrolled(true); listeServers.setMaxElementsToDraw((int) shapeListeServers.getHeight() / 20); butRetour = new MouseOverArea( container, ResourceManager.getImage("butRetour"), MARGIN, yBut, larg, haut); butRetour.setMouseOverImage(ResourceManager.getImage("butRetourOver")); butCreerServer = new MouseOverArea(container, tmp, tmp.getWidth() + MARGIN * 2, yBut, larg, haut); butCreerServer.setMouseOverImage(ResourceManager.getImage("MenuJouerOver")); timerRefreshServers = new Timer(7000); }
@Override public void render(GameContainer container, StateBasedGame game, Graphics g) throws SlickException { int nb = 0; if (server != null) { nb = server.getPartie().size(); g.drawString("Server : ON", 5, 5); } else g.drawString("Server : OFF", 5, 5); g.drawString( "Listes des parties ouvertes : " + nb, shapeListeServers.getX() + shapeListeServers.getWidth() / 2 - container.getDefaultFont().getWidth("Listes des parties ouvertes :" + nb) / 2, shapeListeServers.getY() - container.getDefaultFont().getHeight("Listes des parties ouvertes :" + nb) - 2); g.setDrawMode(Graphics.MODE_COLOR_MULTIPLY); g.setColor(Color.gray); g.fill(shapeListeServers); g.setDrawMode(Graphics.MODE_NORMAL); g.setColor(Color.white); g.draw(shapeListeServers); listeServers.renderString(container, g); butRetour.render(container, g); butCreerServer.render(container, g); super.render(container, game, g); }
private void mettreAJourListePartie() { listeServers.clearList(); for (Partie v : server.getPartie()) if (v != null) { String type = "Salon"; if (v instanceof Jeu) type = "jeu"; listeServers.addElement( new ElementString( container, ResourceManager.getImage("transparent") .getScaledCopy(10, container.getDefaultFont().getHeight("1") + 2), 0, 0, "Id: " + v.getId() + " Nb joueurs: " + v.getListeDesJoueursDansLaPartie().size() + " instance: " + type)); } }
@Override public void update(GameContainer container, StateBasedGame sbGame, int delta) throws SlickException { super.update(container, sbGame, delta); if (timerRefreshServers.isTimeComplete()) { if (server != null) { // if(listeServers.size() != server.getPartie().size()) -> enlever car c // vite fait et je veux aussi verifier si le nb de joueur est tjr bon sauf que je peux pas // acceder facilement a ce nb contenu dans la liste deroulante vu que c dans un String mettreAJourListePartie(); // mode bourrin, on vide la liste et on refait } else listeServers.clearList(); timerRefreshServers.resetTime(); } else timerRefreshServers.update(delta); }