List of usage examples for com.badlogic.gdx.scenes.scene2d.utils ClickListener ClickListener
public ClickListener(int button)
From source file:ateamproject.kezuino.com.github.network.rmi.Client.java
@Override public void registerPackets() { packets.registerFunc(PacketKick.class, packet -> { if (packet.getSender() == null) { new Dialog("Kicked", ((BaseScreen) game.getScreen()).getSkin()) { {//from w ww . j a va2 s .com text(packet.getReason()); button("Oke"); addListener(new ClickListener(0) { @Override public void clicked(InputEvent event, float x, float y) { game.setScreen(new MainScreen(game)); } }); } }.show(((BaseScreen) game.getScreen()).getStage()); return true; } else { try { if (packet.getReceivers().length > 0) { for (UUID receiver : packet.getReceivers()) { this.rmi.getServer().kickClient(packet.getSender(), receiver, packet.getReasonType(), packet.getReason()); } } else { this.rmi.getServer().kickClient(packet.getSender(), null, packet.getReasonType(), packet.getReason()); } } catch (RemoteException ex) { Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex); } return true; } }); packets.registerFunc(PacketLoginAuthenticate.class, packet -> { PacketLoginAuthenticate.ReturnData data = null; try { data = getRmi().getServer().login(packet.getEmailAddress(), packet.getPassword(), getRmi()); } catch (Exception e) { data = new PacketLoginAuthenticate.ReturnData(null, null, null, null, "Server is niet online.", false); } if (data != null) { if (data.getPrivateId() == null) { this.setEmailaddress(null); this.setUsername(null); this.setId(null); this.setPublicId(null); } else { this.setEmailaddress(data.getEmailadress()); this.setUsername(data.getUsername()); this.setId(data.getPrivateId()); this.setPublicId(data.getPublicId()); System.out.printf("Logged in as: (Username: %s), (Email: %s), (Private: %s), (Public: %s)%n", data.getUsername(), data.getEmailadress(), data.getPrivateId(), data.getPublicId()); } } return data; }); packets.registerAction(PacketLogout.class, packet -> { try { getRmi().getServer().logout(getId()); } catch (RemoteException e) { e.printStackTrace(); } }); packets.registerFunc(PacketHighScore.class, (packet) -> { try { return getRmi().getServer().setScore(packet.getSender(), packet.getScore()); } catch (RemoteException ex) { Logger.getLogger(MainScreen.class.getName()).log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketCreateLobby.class, (p) -> { try { return getRmi().getServer().createLobby(p.getSender(), p.getLobbyname(), p.getClanname()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return null; }); packets.registerFunc(PacketGetLobbies.class, (p) -> { try { return getRmi().getServer().getLobbies(p.getSender(), p.isClanGame()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return null; }); packets.registerAction(PacketScreenUpdate.class, packet -> { if (game.getScreen().getClass().equals(packet.getScreenClass())) { RefreshableScreen screen = (RefreshableScreen) game.getScreen(); screen.refresh(); } }); packets.registerFunc(PacketGetClans.class, (p) -> { try { return getRmi().getServer().getClans(p.getSender()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return null; }); packets.registerAction(PacketReloadClans.class, (p) -> { // run methode op de serverbase .getclans try { getRmi().getServer().setClans(p.getSender()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } }); packets.registerFunc(PacketJoinLobby.class, (p) -> { try { return getRmi().getServer().joinLobby(p.getLobbyId(), p.getSender()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return null; }); packets.registerFunc(PacketLoginCreateNewUser.class, (p) -> { try { return getRmi().getServer().loginCreateUser(p.getSender(), p.getUsername(), p.getEmail()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketLoginUserExists.class, (p) -> { try { return getRmi().getServer().doesUserExists(p.getEmail()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketGetKickInformation.class, (p) -> { try { return getRmi().getServer().getKickInformation(p.getSender()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketCreateClan.class, (p) -> { try { return getRmi().getServer().createClan(p.getSender(), p.getClanName()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketFillTable.class, (p) -> { try { return getRmi().getServer().clanFillTable(p.getEmailadres()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketGetEmail.class, (p) -> { try { return getRmi().getServer().getEmail(p.getSender()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketGetInvitation.class, (p) -> { try { return getRmi().getServer().clanGetInvitation(p.getSender(), p.getClanName()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketGetManagement.class, (p) -> { try { return getRmi().getServer().getManagement(p.getSender(), p.getClanName()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketGetPeople.class, (p) -> { try { return getRmi().getServer().getPeople(p.getClanName()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketGetUsername.class, (p) -> { try { return getRmi().getServer().getUsername(p.getEmailadres()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketHandleInvitation.class, (p) -> { try { return getRmi().getServer().handleInvitation(p.getInvite(), p.getClanName(), p.getEmailadres(), p.getNameOfInvitee()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketHandleManagement.class, (p) -> { try { return getRmi().getServer().handleManagement(p.getManage(), p.getClanName(), p.getEmailadres()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerFunc(PacketSetUsername.class, (p) -> { try { return getRmi().getServer().setUsername(p.getName(), p.getEmailaddress(), p.getSender()); } catch (RemoteException ex) { Logger.getLogger(ateamproject.kezuino.com.github.network.rmi.Client.class.getName()) .log(Level.SEVERE, null, ex); } return false; }); packets.registerAction(PacketSetKickInformation.class, packet -> { try { getRmi().getServer().setKickInformation(packet.getSender(), packet.getPersonToVoteFor()); } catch (RemoteException e) { e.printStackTrace(); } }); packets.registerAction(PacketClientJoined.class, p -> { if (game.getScreen() instanceof LobbyScreen) { LobbyScreen t = (LobbyScreen) game.getScreen(); t.addMember(p.getJoinenId(), p.getUsername()); } }); packets.registerFunc(PacketLobbyMembers.class, packet -> { try { // return all current members in the lobby return getRmi().getServer().getLobbyMembers(packet.getLobbyId()); } catch (RemoteException ex) { Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex); } return null; }); packets.registerAction(PacketLaunchGame.class, p -> { if (p.getSender() != null) { // Request came from client.. try { rmi.getServer().launchGame(p.getSender(), p.getLevel(), p.getScore()); } catch (RemoteException e) { e.printStackTrace(); } } else { // Request came from server.. if (p.isPaused()) { Gdx.app.postRunnable(() -> { // Sync data of pactales already send to connected clients with host. try { List<PacketGetGameClients.Data> data = getRmi().getServer() .getGameClients(Client.getInstance().getId()); for (PacketGetGameClients.Data d : data) { Pactale player = BaseScreen.getSession().getPlayer(d.getIndex()); player.setId(d.getPublicId()); player.setColor( ateamproject.kezuino.com.github.network.Game.SELECTABLE_COLORS[player .getPlayerIndex()]); } } catch (RemoteException e) { e.printStackTrace(); } game.setScreen(new GameScreen(game)); ((GameScreen) game.getScreen()).start(); }); } else { // Request came from server.. resume game. Gdx.app.postRunnable(() -> BaseScreen.getSession().resume()); } } }); packets.registerAction(PacketCreateGameObject.class, p -> { GameSession session = BaseScreen.getSession(); if (session == null) { System.out.printf("Tried to create object: '%s' but no GameSession was set.%n", p.getTypeName()); return; } GameObject object = null; try { String className = GameObject.class.getName(); className = className.substring(0, className.lastIndexOf('.')); object = (GameObject) Class.forName(className + '.' + p.getTypeName()).newInstance(); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { e.printStackTrace(); } if (object == null) { throw new IllegalStateException( String.format("Cannot create GameObject of type: '%s'", p.getTypeName())); } object.setId(p.getId()); object.setStartingPosition(p.getPosition()); object.setDirection(p.getDirection()); object.setExactPosition(p.getPosition()); object.setMap(session.getMap()); object.setMovementSpeed(p.getSpeed()); Color color = Color.WHITE.cpy(); Color.rgba8888ToColor(color, p.getColor()); object.setColor(color); if (object instanceof Pactale) { Pactale pactale = (Pactale) object; pactale.setPlayerIndex(p.getIndex()); final GameObject finalObject = object; Gdx.app.postRunnable(() -> finalObject.setAnimation(new Animation(true, Assets.getTexture(finalObject.getClass().getSimpleName().toLowerCase() + ".png")))); } else if (object instanceof Enemy) { final Enemy enemy = (Enemy) object; // Only host should generate enemy paths. Clients will receive them from the host. enemy.setDisablePathfinding(!Client.getInstance().isHost()); Gdx.app.postRunnable(() -> enemy.setAnimation( new Animation(Assets.getTexture(enemy.getClass().getSimpleName().toLowerCase() + ".png")))); } session.getMap().addGameObject(object); session.setObjectsLoaded(session.getObjectsLoaded() + 1); System.out.printf("Loaded (%s): %d/%d%n", object.getClass().getSimpleName(), session.getObjectsLoaded(), session.getObjectsToLoad()); if (session.getObjectsToLoad() == session.getObjectsLoaded()) { send(new PacketSetLoadStatus(PacketSetLoadStatus.LoadStatus.ObjectsLoaded, null)); } }); packets.registerAction(PacketCreateItem.class, packet -> { GameSession session = BaseScreen.getSession(); if (session == null) { System.out.printf("Tried to create object: '%s' but no GameSession was set.%n", "item"); return; } // Create item. Item item = new Item(packet.getType().toString(), packet.getPosition(), packet.getType()); item.setId(packet.getObjId()); item.setMap(session.getMap()); Gdx.app.postRunnable(() -> item.setTexture( new TextureRegion(Assets.getTexture(item.getItemType().name().toLowerCase() + ".png")))); session.getMap().getNode(item.getExactPosition()).setItem(item); // Update load status. session.setObjectsLoaded(session.getObjectsLoaded() + 1); System.out.printf("Loaded (%s): %d/%d%n", item.getClass().getSimpleName(), session.getObjectsLoaded(), session.getObjectsToLoad()); if (session.getObjectsToLoad() == session.getObjectsLoaded()) { send(new PacketSetLoadStatus(PacketSetLoadStatus.LoadStatus.ObjectsLoaded, null)); } }); packets.registerAction(PacketLobbySetDetails.class, p -> { try { rmi.getServer().setLobbyDetails(p.getSender(), p.getData()); } catch (RemoteException e) { e.printStackTrace(); } }); packets.registerFunc(PacketLobbyGetDetails.class, p -> { PacketLobbySetDetails.Data data = p.getResult(); // TODO: Update lobby screen with new information. if (data.getName() != null) { System.out.println("New lobby name: " + data.getName()); } if (data.getMap() != null) { System.out.println("New lobby map: " + data.getMap()); } return data; }); packets.registerAction(PacketLoadGame.class, p -> { // Set this session as the new main session. GameSession session = new GameSession(p.getLevel(), p.getScore()); BaseScreen.setSession(session); MapLoader loader = Map.getLoader(session, p.getMap(), p.getLevel()); EnumSet<MapLoader.MapObjectTypes> excluded = null; if (p.isMaster()) { // Load everything and synchronize with server. excluded = EnumSet.noneOf(MapLoader.MapObjectTypes.class); loader.addConsumer(Enemy.class, obj -> { try { getRmi().getServer().createObject(p.getSender(), Enemy.class.getSimpleName(), obj.getExactPosition(), obj.getDirection(), obj.getMovementSpeed(), obj.getId(), Color.argb8888(obj.getColor()), 0); } catch (RemoteException e) { e.printStackTrace(); } }); loader.addConsumer(Pactale.class, obj -> { if (obj.getPlayerIndex() == 0) { obj.setId(getPublicId()); } try { getRmi().getServer().createObject(p.getSender(), Pactale.class.getSimpleName(), obj.getExactPosition(), obj.getDirection(), obj.getMovementSpeed(), obj.getId(), Color.argb8888(obj.getColor()), obj.getPlayerIndex()); } catch (RemoteException e) { e.printStackTrace(); } }); loader.addConsumer(Item.class, obj -> { try { getRmi().getServer().createItem(p.getSender(), obj.getId(), obj.getItemType(), obj.getExactPosition()); } catch (RemoteException e) { e.printStackTrace(); } }); } else { // Exclude everything that's network dependant. excluded = EnumSet.of(MapLoader.MapObjectTypes.ENEMY, MapLoader.MapObjectTypes.PACTALE, MapLoader.MapObjectTypes.ITEM); } // Load map (on OpenGL thread). final EnumSet<MapLoader.MapObjectTypes> finalExcluded = excluded; Gdx.app.postRunnable(() -> { loader.getTypesToLoad().removeAll(finalExcluded); loader.setPlayerLimit(p.getPlayerLimit()); loader.load(); session.setMap(loader.getMap()); // Tell the game that we are done loading. if (p.isMaster()) { send(new PacketSetLoadStatus(PacketSetLoadStatus.LoadStatus.ObjectsLoaded, null)); } else { send(new PacketSetLoadStatus(PacketSetLoadStatus.LoadStatus.MapLoaded, null)); } }); }); packets.registerAction(PacketSetLoadStatus.class, packet -> { try { getRmi().getServer().setLoadStatus(packet.getSender(), packet.getStatus()); } catch (RemoteException e) { e.printStackTrace(); } }); packets.registerAction(PacketUpdateProgress.class, packet -> { switch (packet.getId()) { case "game_load_objects": if (BaseScreen.getSession() == null) { System.out.println( "Warning: PacketUpdateProgress received but was not expected. GameSession is null."); return; } BaseScreen.getSession().setObjectsToLoad(packet.getProgress()); break; } }); packets.registerAction(PacketShootProjectile.class, packet -> { // If client sended it..send this private id to server. if (packet.getSender() != null && packet.getSender().equals(getId())) { try { getRmi().getServer().shootProjectile(packet.getExactPosition(), packet.getDirection(), packet.getSender()); } catch (RemoteException e) { e.printStackTrace(); } } else { if (BaseScreen.getSession().getPlayer(packet.getSender()) != null) { Gdx.app.postRunnable(() -> { // Server sended this. BaseScreen.getSession().getPlayer(packet.getSender()) .shootProjectile(packet.getExactPosition(), packet.getDirection()); }); } } }); packets.registerAction(PacketObjectMove.class, packet -> { if (packet.getSender() != null && packet.getSender().equals(getId())) { try { getRmi().getServer().objectSetDirection(packet.getSender(), packet.getObject(), packet.getFrom(), packet.getTo()); } catch (RemoteException e) { e.printStackTrace(); } } else { // Server sent this. GameObject object = BaseScreen.getSession().findObject(packet.getObject()); if (object != null) { object.setExactPosition(packet.getFrom()); object.setDirection(Direction.getDirection((int) packet.getFrom().x, (int) packet.getFrom().y, (int) packet.getTo().x, (int) packet.getTo().y)); } } }); packets.registerAction(PacketPlayerDied.class, packet -> { if (packet.getSender() != null && packet.getSender().equals(getId())) { try { getRmi().getServer().playerDied(packet.getSender()); } catch (RemoteException e) { e.printStackTrace(); } } else { BaseScreen.getSession().getPlayer(packet.getSender()).setInactive(); } }); packets.registerAction(PacketBalloonMessage.class, packet -> { if (packet.getSender() != null && packet.getSender().equals(getId())) { try { getRmi().getServer().balloonMessage(packet.getSender(), packet.getTypeName(), packet.getPosition(), packet.getFollowTarget()); } catch (RemoteException e) { e.printStackTrace(); } } else { // Create balloon on OpenGL thread. Gdx.app.postRunnable(() -> { try { BalloonMessage message = ((BalloonMessage) Class .forName(BalloonMessage.class.getPackage().getName() + ".messages.Balloon" + packet.getTypeName()) .newInstance()); if (packet.getFollowTarget() != null) { message.setFollowObject(BaseScreen.getSession().findObject(packet.getFollowTarget())); } else { message.setPosition(packet.getPosition()); } message.addBalloonMessage(); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { e.printStackTrace(); } }); } }); packets.registerAction(PacketRemoveItem.class, packet -> { if (packet.getSender() != null && packet.getSender().equals(getId())) { try { getRmi().getServer().removeItem(packet.getSender(), packet.getPlayer(), packet.getItemId(), packet.getItemType()); } catch (RemoteException ex) { ex.printStackTrace(); } } else { Item foundItem; if ((foundItem = BaseScreen.getSession().findItem(packet.getItemId())) != null) { foundItem.activate(BaseScreen.getSession().getPlayer(packet.getPlayer())); foundItem.getNode().removeItem(); } } }); packets.registerAction(PacketScoreChanged.class, packet -> { if (packet.getSender() != null && packet.getSender().equals(getId())) { try { getRmi().getServer().changeScore(packet.getSender(), packet.getManipulationType(), packet.getChange()); } catch (RemoteException ex) { ex.printStackTrace(); } } else { Score currentScore = BaseScreen.getSession().getScore(); switch (packet.getManipulationType()) { case DECREASE: currentScore.decrease(packet.getChange()); break; case INCREASE: currentScore.increase(packet.getChange()); break; } } }); packets.registerFunc(PacketGetHighscores.class, packet -> { java.util.Map<String, Integer> returnMap = new HashMap<>(); try { returnMap = getRmi().getServer().getHighscores(packet.getSender()); } catch (RemoteException ex) { Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex); } return returnMap; }); }
From source file:com.forerunnergames.peril.client.ui.screens.game.play.modes.classic.dialogs.armymovement.AbstractArmyMovementDialog.java
License:Open Source License
protected AbstractArmyMovementDialog(final ClassicModePlayScreenWidgetFactory widgetFactory, final String title, final Stage stage, final DialogListener listener) { // @formatter:off super(widgetFactory, DialogStyle.builder().windowStyle(StyleSettings.ARMY_MOVEMENT_DIALOG_WINDOW_STYLE).modal(false) .movable(true).size(862, 484).position(481, ScreenSettings.REFERENCE_SCREEN_HEIGHT - 164) .title(title).titleHeight(58).messageBox(false).border(28).buttonSize(90, 32).debug(DEBUG) .build(),/* w ww. j a v a 2 s . c o m*/ stage, listener); // @formatter:on Arguments.checkIsNotNull(widgetFactory, "widgetFactory"); Arguments.checkIsNotNull(stage, "stage"); this.widgetFactory = widgetFactory; sourceCountryNameLabel = widgetFactory.createArmyMovementDialogCountryNameLabel(); targetCountryNameLabel = widgetFactory.createArmyMovementDialogCountryNameLabel(); slider = widgetFactory.createArmyMovementDialogSlider(new ChangeListener() { @Override public void changed(final ChangeEvent event, final Actor actor) { updateCountryArmies(); updateSubmitability(); } }); minButton = widgetFactory.createArmyMovementDialogMinButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { setSliderToMinValue(); } }); minusButton = widgetFactory.createArmyMovementDialogMinusButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { decrementSlider(); } }); plusButton = widgetFactory.createArmyMovementDialogPlusButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { incrementSlider(); } }); maxButton = widgetFactory.createArmyMovementDialogMaxButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { setSliderToMaxValue(); } }); sourceCountryStack = new Stack(); targetCountryStack = new Stack(); sourceCountryStack.setDebug(DEBUG, true); targetCountryStack.setDebug(DEBUG, true); final Table sourceCountryStackTable = new Table(); sourceCountryStackCell = sourceCountryStackTable.add(sourceCountryStack) .padRight(SOURCE_COUNTRY_ARROW_WIDTH); sourceCountryStackTable.setDebug(DEBUG, true); final Table targetCountryStackTable = new Table(); targetCountryStackCell = targetCountryStackTable.add(targetCountryStack) .padLeft(TARGET_COUNTRY_ARROW_WIDTH); targetCountryStackTable.setDebug(DEBUG, true); final Table sourceCountryTable = new Table(); sourceCountryTable.add(sourceCountryStackTable); sourceCountryTable.setClip(true); sourceCountryTable.setDebug(DEBUG, true); final Table targetCountryTable = new Table(); targetCountryTable.add(targetCountryStackTable); targetCountryTable.setClip(true); targetCountryTable.setDebug(DEBUG, true); final Table countryTable = new Table().center(); countryTable.add(sourceCountryTable).width(COUNTRY_BOX_WIDTH).maxHeight(COUNTRY_BOX_HEIGHT) .spaceRight(SOURCE_TARGET_COUNTRY_BOX_SPACING).padLeft(COUNTRY_BOX_INNER_PADDING) .padRight(COUNTRY_BOX_INNER_PADDING); countryTable.add(targetCountryTable).width(COUNTRY_BOX_WIDTH).maxHeight(COUNTRY_BOX_HEIGHT) .spaceLeft(SOURCE_TARGET_COUNTRY_BOX_SPACING).padLeft(COUNTRY_BOX_INNER_PADDING) .padRight(COUNTRY_BOX_INNER_PADDING); countryTable.setDebug(DEBUG, true); final Table sliderTable = new Table(); sliderTable.add(minButton).width(20).spaceRight(7); sliderTable.add(minusButton).width(30).spaceLeft(7).spaceRight(10); sliderTable.add(slider).width(382).height(12).spaceLeft(10).spaceRight(10); sliderTable.add(plusButton).width(30).spaceLeft(10).spaceRight(7); sliderTable.add(maxButton).width(20).spaceLeft(7); sliderTable.setDebug(DEBUG, true); getContentTable().defaults().space(0).pad(0); getContentTable().top(); getContentTable().row().size(COUNTRY_NAME_BOX_WIDTH, COUNTRY_NAME_BOX_HEIGHT).spaceBottom(1); getContentTable().add(sourceCountryNameLabel); getContentTable().add(targetCountryNameLabel); getContentTable().row().colspan(2).height(COUNTRY_BOX_HEIGHT).spaceTop(1); getContentTable().add(countryTable).padLeft(2).padRight(2).padTop(COUNTRY_BOX_INNER_PADDING - 2) .padBottom(COUNTRY_BOX_INNER_PADDING); getContentTable().row().colspan(2).top().padTop(29); getContentTable().add(sliderTable); addListener(new InputListener() { @Override public boolean keyDown(final InputEvent event, final int keycode) { if (!isShown()) return false; switch (keycode) { case Input.Keys.LEFT: { decrementSlider(); return true; } case Input.Keys.RIGHT: { incrementSlider(); return true; } default: { return false; } } } }); }
From source file:com.forerunnergames.peril.client.ui.screens.game.play.modes.classic.dice.AbstractDie.java
License:Open Source License
protected AbstractDie(final int index, final DieFaceValue defaultFaceValue, final ImageButton button) { Arguments.checkIsNotNull(button, "button"); Arguments.checkIsNotNull(defaultFaceValue, "defaultFaceValue"); Arguments.checkIsNotNull(button, "button"); this.index = index; this.defaultFaceValue = defaultFaceValue; this.button = button; // @formatter:off registerActionOnTransitionFrom(DieState.ENABLED, DieStateTransition.ON_HOVER_START, new DieStateTransitionAction() { @Override//from w w w . j av a 2 s . c o m public void onTransition(final DieState toState) { stopSpinning(); refreshAssets(toState); } }); registerActionOnTransitionFrom(DieState.DISABLED, DieStateTransition.ON_HOVER_START, new DieStateTransitionAction() { @Override public void onTransition(final DieState toState) { stopSpinning(); refreshAssets(toState); } }); registerActionOnTransitionFrom(DieState.ENABLING, DieStateTransition.ON_HOVER_END, new DieStateTransitionAction() { @Override public void onTransition(final DieState toState) { startSpinning(); refreshAssets(toState); } }); registerActionOnTransitionFrom(DieState.DISABLING, DieStateTransition.ON_HOVER_END, new DieStateTransitionAction() { @Override public void onTransition(final DieState toState) { startSpinning(); refreshAssets(toState); } }); registerActionOnTransitionFrom(DieState.ENABLING, DieStateTransition.ON_CLICK, new DieStateTransitionAction() { @Override public void onTransition(final DieState toState) { enable(); } }); registerActionOnTransitionFrom(DieState.DISABLING, DieStateTransition.ON_CLICK, new DieStateTransitionAction() { @Override public void onTransition(final DieState toState) { disable(); } }); // @formatter:on button.addListener(new ClickListener(Input.Buttons.LEFT) { @Override public void enter(final InputEvent event, final float x, final float y, final int pointer, final Actor fromActor) { super.enter(event, x, y, pointer, fromActor); currentState = currentState.transition(DieStateTransition.ON_HOVER_START, transitionActionsTable); } @Override public void exit(final InputEvent event, final float x, final float y, final int pointer, final Actor toActor) { super.exit(event, x, y, pointer, toActor); currentState = currentState.transition(DieStateTransition.ON_HOVER_END, transitionActionsTable); } @Override public void clicked(final InputEvent event, final float x, final float y) { currentState = currentState.transition(DieStateTransition.ON_CLICK, transitionActionsTable); } }); resetAll(); }
From source file:com.forerunnergames.peril.client.ui.screens.game.play.modes.classic.phasehandlers.ReinforcementDialog.java
License:Open Source License
public ReinforcementDialog(final ClassicModePlayScreenWidgetFactory widgetFactory, final Stage stage, final PersonBox personBox, final CancellableDialogListener listener) { // @formatter:off super(widgetFactory, DialogStyle.builder().modal(false).windowStyle(StyleSettings.REINFORCEMENT_DIALOG_WINDOW_STYLE) .buttonTextPaddingVertical(0).buttonTextPaddingHorizontal(10).border(10).messageBox(false) .debug(DEBUG).build(), stage, listener);// ww w . ja v a 2s . c o m // @formatter:on Arguments.checkIsNotNull(widgetFactory, "widgetFactory"); Arguments.checkIsNotNull(stage, "stage"); Arguments.checkIsNotNull(personBox, "personBox"); this.widgetFactory = widgetFactory; this.stage = stage; this.personBox = personBox; slider = widgetFactory.createArmyMovementDialogSlider(new ChangeListener() { @Override public void changed(final ChangeEvent event, final Actor actor) { updateArmies(); updateSubmitability(); } }); minButton = widgetFactory.createArmyMovementDialogMinButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { setSliderToMinValue(); } }); minusButton = widgetFactory.createArmyMovementDialogMinusButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { decrementSlider(); } }); plusButton = widgetFactory.createArmyMovementDialogPlusButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { incrementSlider(); } }); maxButton = widgetFactory.createArmyMovementDialogMaxButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { setSliderToMaxValue(); } }); final Table sliderTable = new Table(); sliderTable.add(minButton).width(20).spaceRight(7); sliderTable.add(minusButton).width(30).spaceLeft(7).spaceRight(10); sliderTable.add(slider).width(191).height(12).spaceLeft(10).spaceRight(10); sliderTable.add(plusButton).width(30).spaceLeft(10).spaceRight(7); sliderTable.add(maxButton).width(20).spaceLeft(7); sliderTable.setDebug(DEBUG, true); getContentTable().defaults().space(0).pad(0); getContentTable().top(); getContentTable().add(sliderTable).padBottom(10); addListener(new InputListener() { @Override public boolean keyDown(final InputEvent event, final int keycode) { if (!isShown()) return false; switch (keycode) { case Input.Keys.LEFT: { decrementSlider(); return true; } case Input.Keys.RIGHT: { incrementSlider(); return true; } default: { return false; } } } }); }
From source file:com.forerunnergames.peril.client.ui.screens.menus.main.MainMenuScreen.java
License:Open Source License
public MainMenuScreen(final MenuScreenWidgetFactory widgetFactory, final ScreenChanger screenChanger, final ScreenSize screenSize, final MouseInput mouseInput, final Batch batch, final MBassador<Event> eventBus) { super(widgetFactory, screenChanger, screenSize, mouseInput, batch, eventBus); quitDialog = createQuitDialog("Are you sure you want to quit Peril?", new CancellableDialogListenerAdapter() { @Override/*from w w w .j a v a 2 s . c om*/ public void onSubmit() { Gdx.app.exit(); } }); addTitle("MAIN MENU", Align.left, 60); addMenuChoiceSpacer(42); addMenuChoice("PLAY", new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { toScreen(ScreenId.GAME_MODES_MENU); } }); addMenuChoiceSpacer(10); addMenuChoice("SETTINGS", new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { // TODO Implement } }); addMenuChoiceSpacer(10); addMenuChoice("QUIT", new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { quitDialog.show(); } }); }
From source file:com.forerunnergames.peril.client.ui.screens.menus.modes.classic.ClassicGameModeMenuScreen.java
License:Open Source License
public ClassicGameModeMenuScreen(final MenuScreenWidgetFactory widgetFactory, final ScreenChanger screenChanger, final ScreenSize screenSize, final MouseInput mouseInput, final Batch batch, final MBassador<Event> eventBus) { super(widgetFactory, screenChanger, screenSize, mouseInput, batch, eventBus); addTitle("CLASSIC MODE", Align.left, 60); addMenuChoiceSpacer(42);//from www. ja v a 2 s .com addMenuChoice("CREATE GAME", new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { toScreen(ScreenId.CLASSIC_GAME_MODE_CREATE_GAME_MENU); } }); addMenuChoiceSpacer(10); addMenuChoice("JOIN GAME", new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { toScreen(ScreenId.CLASSIC_GAME_MODE_JOIN_GAME_MENU); } }); addBackButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { toScreen(ScreenId.GAME_MODES_MENU); } }); }
From source file:com.forerunnergames.peril.client.ui.screens.menus.modes.classic.creategame.ClassicGameModeCreateGameMenuScreen.java
License:Open Source License
public ClassicGameModeCreateGameMenuScreen(final MenuScreenWidgetFactory widgetFactory, final ScreenChanger screenChanger, final ScreenSize screenSize, final MouseInput mouseInput, final Batch batch, final CountryCounter countryCounter, final MBassador<Event> eventBus) { super(widgetFactory, screenChanger, screenSize, mouseInput, batch, eventBus); Arguments.checkIsNotNull(widgetFactory, "widgetFactory"); Arguments.checkIsNotNull(countryCounter, "countryCounter"); this.widgetFactory = widgetFactory; this.countryCounter = countryCounter; errorDialog = createErrorDialog();//ww w.j a v a2s. c om addTitle(TITLE_TEXT, Align.bottomLeft, 40); addSubTitle(SUBTITLE_TEXT); playerNameTextField = widgetFactory.createPlayerNameTextField(); clanAcronymTextField = widgetFactory.createClanAcronymTextField(); serverNameTextField = widgetFactory.createServerNameTextField(); clanAcronymCheckBox = widgetFactory.createClanAcronymCheckBox(new ChangeListener() { @Override public void changed(final ChangeEvent event, final Actor actor) { clanAcronymTextField.setText(clanAcronymCheckBox.isChecked() ? clanAcronymTextField.getText() : ""); clanAcronymTextField.setDisabled(!clanAcronymCheckBox.isChecked()); } }); clanAcronymCheckBox.setChecked(!clanAcronymTextField.getText().isEmpty()); clanAcronymTextField.setDisabled(!clanAcronymCheckBox.isChecked()); // @formatter:off humanPlayerLimitLabel = widgetFactory .createPlayerLimitLabel(String.valueOf(InputSettings.INITIAL_CLASSIC_MODE_HUMAN_PLAYER_LIMIT)); aiPlayerLimitLabel = widgetFactory .createPlayerLimitLabel(String.valueOf(InputSettings.INITIAL_CLASSIC_MODE_AI_PLAYER_LIMIT)); playMapNameLabel = widgetFactory.createPlayMapNameLabel(); totalCountryCount = calculateCurrentPlayMapTotalCountryCount(); // @formatter:on customizeHumanPlayersButton = widgetFactory .createCustomizePlayersButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { // TODO Show Players Dialog. updateHumanPlayerLimit(); updateWinPercentSelectBoxItems(); } }); customizeAiPlayersButton = widgetFactory .createCustomizePlayersButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { // TODO Show Players Dialog. updateAiPlayerLimit(); updateWinPercentSelectBoxItems(); } }); customizePlayMapButton = widgetFactory.createCustomizePlayMapButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { // TODO Show Play Map Dialog. // TODO Add refresh button to Play Map Dialog to re-load play maps. playMaps = loadPlayMaps(); currentPlayMap = nextPlayMap(); playMapNameLabel.setText(currentPlayMap.getName()); totalCountryCount = calculateCurrentPlayMapTotalCountryCount(); updateWinPercentSelectBoxItems(); } }); // @formatter:off spectatorLimitSelectBox = widgetFactory.createSpectatorsSelectBox(); final Array<Integer> spectatorLimits = new Array<>( ClassicGameRules.MAX_SPECTATORS - ClassicGameRules.MIN_SPECTATORS + 1); for (int i = ClassicGameRules.MIN_SPECTATORS; i <= ClassicGameRules.MAX_SPECTATORS; ++i) { spectatorLimits.add(i); } spectatorLimitSelectBox.setItems(spectatorLimits); spectatorLimitSelectBox.setSelected(InputSettings.INITIAL_SPECTATOR_LIMIT); // @formatter:off // @formatter:on initialCountryAssignmentSelectBox = widgetFactory.createInitialCountryAssignmentSelectBox(); final Array<String> initialCountryAssignments = new Array<>(InitialCountryAssignment.count()); for (final InitialCountryAssignment initialCountryAssignment : InitialCountryAssignment.values()) { initialCountryAssignments.add(Strings.toProperCase(initialCountryAssignment.name())); } initialCountryAssignmentSelectBox.setItems(initialCountryAssignments); initialCountryAssignmentSelectBox .setSelected(Strings.toProperCase(InputSettings.INITIAL_CLASSIC_MODE_COUNTRY_ASSIGNMENT.name())); // @formatter:on winPercentSelectBox = widgetFactory.createWinPercentSelectBox(); updateWinPercentSelectBoxItems(); selectInitialWinPercentItem(); // @formatter:off playerSettingsSectionTitleLabel = widgetFactory.createPlayerSettingsSectionTitleLabel(); playerNameSettingLabel = widgetFactory.createPlayerNameSettingLabel(); clanTagSettingLabel = widgetFactory.createClanTagSettingLabel(); gameSettingsSectionTitleLabel = widgetFactory.createGameSettingsSectionTitleLabel(); serverNameSettingLabel = widgetFactory.createMenuSettingLabel(SERVER_NAME_SETTING_LABEL_TEXT); humanPlayerLimitSettingLabel = widgetFactory.createMenuSettingLabel(HUMAN_PLAYERS_SETTING_LABEL_TEXT); aiPlayerLimitSettingLabel = widgetFactory.createMenuSettingLabel(AI_PLAYERS_SETTING_LABEL_TEXT); spectatorLimitSettingLabel = widgetFactory.createMenuSettingLabel(SPECTATORS_SETTING_SETTING_LABEL_TEXT); playMapSettingLabel = widgetFactory.createMenuSettingLabel(PLAY_MAP_SETTING_LABEL_TEXT); winPercentSettingLabel = widgetFactory.createMenuSettingLabel(WIN_PERCENT_SETTING_LABEL_TEXT); initialCountryAssignmentSettingLabel = widgetFactory .createMenuSettingLabel(INITIAL_COUNTRY_ASSIGNMENT_SETTING_LABEL_TEXT); // @formatter:on final VerticalGroup verticalGroup = new VerticalGroup(); verticalGroup.align(Align.topLeft); final Table playerSettingsTable = new Table().top().left(); playerSettingsTable.add().height(23); playerSettingsTable.row(); playerSettingsTable.add(playerSettingsSectionTitleLabel).size(540, 40).fill().padLeft(60).left(); playerSettingsTable.row(); final Table playerNameTable = new Table(); playerNameTable.add(playerNameSettingLabel).size(150, 40).fill().padLeft(90).left().spaceRight(10); playerNameTable.add(playerNameTextField).size(270, 28).fill().left().spaceLeft(10); playerSettingsTable.add(playerNameTable).left(); playerSettingsTable.row(); final Table clanTable = new Table(); clanTable.add(clanTagSettingLabel).size(150, 40).fill().padLeft(90).left().spaceRight(10); clanTable.add(clanAcronymCheckBox).size(20, 20).fill().left().spaceLeft(10).spaceRight(8); clanTable.add(clanAcronymTextField).size(80, 28).fill().left().spaceLeft(8); playerSettingsTable.add(clanTable).left(); verticalGroup.addActor(playerSettingsTable); final Table gameSettingsTable = new Table().top().left(); gameSettingsTable.row(); gameSettingsTable.add().height(20); gameSettingsTable.row(); gameSettingsTable.add(gameSettingsSectionTitleLabel).size(540, 40).fill().padLeft(60).left(); gameSettingsTable.row(); final Table serverNameTable = new Table(); serverNameTable.add(serverNameSettingLabel).size(150, 40).fill().padLeft(90).left().spaceRight(10); serverNameTable.add(serverNameTextField).size(270, 28).fill().left().spaceLeft(10); gameSettingsTable.add(serverNameTable).left(); gameSettingsTable.row(); final Table playMapTable = new Table(); playMapTable.add(playMapSettingLabel).size(150, 40).fill().padLeft(90).left().spaceRight(10); playMapTable.add(playMapNameLabel).size(238, 28).fill().left().spaceLeft(10).spaceRight(4); playMapTable.add(customizePlayMapButton).size(28, 28).fill().left().spaceLeft(4); gameSettingsTable.add(playMapTable).left(); gameSettingsTable.row(); final Table humanPlayersTable = new Table(); humanPlayersTable.add(humanPlayerLimitSettingLabel).size(150, 40).fill().padLeft(90).left().spaceRight(10); humanPlayersTable.add(humanPlayerLimitLabel).size(76, 28).fill().left().spaceLeft(10).spaceRight(4); humanPlayersTable.add(customizeHumanPlayersButton).size(28, 28).fill().left().spaceLeft(4); gameSettingsTable.add(humanPlayersTable).left(); gameSettingsTable.row(); final Table aiPlayersTable = new Table(); aiPlayersTable.add(aiPlayerLimitSettingLabel).size(150, 40).fill().padLeft(90).left().spaceRight(10); aiPlayersTable.add(aiPlayerLimitLabel).size(76, 28).fill().left().spaceLeft(10).spaceRight(4); aiPlayersTable.add(customizeAiPlayersButton).size(28, 28).fill().left().spaceLeft(4); gameSettingsTable.add(aiPlayersTable).left(); gameSettingsTable.row(); final Table spectatorsTable = new Table(); spectatorsTable.add(spectatorLimitSettingLabel).size(150, 40).fill().padLeft(90).left().spaceRight(10); spectatorsTable.add(spectatorLimitSelectBox).size(108, 28).fill().left().spaceLeft(10); gameSettingsTable.add(spectatorsTable).left(); gameSettingsTable.row(); final Table winPercentTable = new Table(); winPercentTable.add(winPercentSettingLabel).size(150, 40).fill().padLeft(90).left().spaceRight(10); winPercentTable.add(winPercentSelectBox).size(108, 28).fill().left().spaceLeft(10); gameSettingsTable.add(winPercentTable).left(); gameSettingsTable.row(); // @formatter:off final Table initialCountryAssignmentTable = new Table(); initialCountryAssignmentTable.add(initialCountryAssignmentSettingLabel).size(150, 40).fill().padLeft(90) .left().spaceRight(10); initialCountryAssignmentTable.add(initialCountryAssignmentSelectBox).size(108, 28).fill().left() .spaceLeft(10); gameSettingsTable.add(initialCountryAssignmentTable).left(); // @formatter:on verticalGroup.addActor(gameSettingsTable); addContent(verticalGroup); addBackButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { contractMenuBar(new Runnable() { @Override public void run() { toScreen(ScreenId.CLASSIC_GAME_MODE_MENU); } }); } }); forwardButton = addForwardButton(FORWARD_BUTTON_TEXT, new ChangeListener() { @Override public void changed(final ChangeEvent event, final Actor actor) { if (currentPlayMap.equals(PlayMapMetadata.NULL)) { errorDialog.setMessage(new DefaultMessage("Please select a valid map before continuing.")); errorDialog.show(); return; } final String playerName = playerNameTextField.getText(); if (!GameSettings.isValidPlayerNameWithoutClanTag(playerName)) { errorDialog.setMessage(new DefaultMessage( Strings.format("Invalid player name: \'{}\'\n\nValid player name rules:\n\n{}", playerName, GameSettings.VALID_PLAYER_NAME_DESCRIPTION))); errorDialog.show(); return; } final String clanAcronym = clanAcronymTextField.getText(); if (!clanAcronymTextField.isDisabled() && !GameSettings.isValidHumanClanAcronym(clanAcronym)) { errorDialog.setMessage(new DefaultMessage( Strings.format("Invalid clan tag: \'{}\'\n\nValid clan tag rules:\n\n{}", clanAcronym, GameSettings.VALID_CLAN_ACRONYM_DESCRIPTION))); errorDialog.show(); return; } final String playerNameWithOptionalClanTag = GameSettings .getHumanPlayerNameWithOptionalClanTag(playerName, clanAcronym); final int humanPlayerLimit = getHumanPlayerLimit(); final int aiPlayerLimit = getAiPlayerLimit(); final int spectatorLimit = getSpectatorLimit(); final int winPercent = winPercentSelectBox.getSelected(); final InitialCountryAssignment initialCountryAssignment = InitialCountryAssignment .valueOf(Strings.toCase(initialCountryAssignmentSelectBox.getSelected(), LetterCase.UPPER)); final PersonLimits personLimits = PersonLimits.builder().humanPlayers(humanPlayerLimit) .aiPlayers(aiPlayerLimit).spectators(spectatorLimit).build(); final GameRules gameRules = GameRulesFactory.create(GameMode.CLASSIC, personLimits, winPercent, totalCountryCount, initialCountryAssignment); final GameConfiguration gameConfig = new DefaultGameConfiguration(GameMode.CLASSIC, currentPlayMap, gameRules); final String serverName = serverNameTextField.getText(); if (!NetworkSettings.isValidServerName(serverName)) { errorDialog.setMessage(new DefaultMessage( Strings.format("Invalid server name: \'{}\'\n\nValid server name rules:\n\n{}", serverName, NetworkSettings.VALID_SERVER_NAME_DESCRIPTION))); errorDialog.show(); return; } toScreen(ScreenId.MENU_TO_PLAY_LOADING); // The menu-to-play loading screen is now active & can therefore receive events. publishAsync(new CreateGameEvent(serverName, gameConfig, playerNameWithOptionalClanTag)); } }); }
From source file:com.forerunnergames.peril.client.ui.screens.menus.modes.classic.joingame.ClassicGameModeJoinGameMenuScreen.java
License:Open Source License
public ClassicGameModeJoinGameMenuScreen(final MenuScreenWidgetFactory widgetFactory, final ScreenChanger screenChanger, final ScreenSize screenSize, final MouseInput mouseInput, final Batch batch, final MBassador<Event> eventBus) { super(widgetFactory, screenChanger, screenSize, mouseInput, batch, eventBus); Arguments.checkIsNotNull(widgetFactory, "widgetFactory"); this.widgetFactory = widgetFactory; errorDialog = createErrorDialog();/*from www .ja v a2s .c o m*/ addTitle("JOIN GAME", Align.bottomLeft, 40); addSubTitle("CLASSIC MODE"); playerNameTextField = widgetFactory.createPlayerNameTextField(); clanAcronymTextField = widgetFactory.createClanAcronymTextField(); serverAddressTextField = widgetFactory.createServerAddressTextField(); clanAcronymCheckBox = widgetFactory.createClanAcronymCheckBox(new ChangeListener() { @Override public void changed(final ChangeEvent event, final Actor actor) { clanAcronymTextField.setText(clanAcronymCheckBox.isChecked() ? clanAcronymTextField.getText() : ""); clanAcronymTextField.setDisabled(!clanAcronymCheckBox.isChecked()); } }); clanAcronymCheckBox.setChecked(!clanAcronymTextField.getText().isEmpty()); clanAcronymTextField.setDisabled(!clanAcronymCheckBox.isChecked()); playerSettingsSectionTitleLabel = widgetFactory.createPlayerSettingsSectionTitleLabel(); playerNameSettingLabel = widgetFactory.createPlayerNameSettingLabel(); clanTagSettingLabel = widgetFactory.createClanTagSettingLabel(); gameSettingsSectionTitleLabel = widgetFactory.createGameSettingsSectionTitleLabel(); serverAddressSettingLabel = widgetFactory.createMenuSettingLabel("Server Address"); final VerticalGroup verticalGroup = new VerticalGroup(); verticalGroup.align(Align.topLeft); // @formatter:off final Table playerSettingsTable = new Table().top().left(); playerSettingsTable.add().height(23).colspan(5); playerSettingsTable.row(); playerSettingsTable.add(playerSettingsSectionTitleLabel).size(538, 42).fill().padLeft(60).padRight(60) .left().colspan(5); playerSettingsTable.row(); playerSettingsTable.add(playerNameSettingLabel).size(150, 40).fill().padLeft(90).left().spaceRight(10); playerSettingsTable.add(playerNameTextField).size(204, 28).fill().left().colspan(3).spaceLeft(10); playerSettingsTable.add().expandX().fill(); playerSettingsTable.row(); playerSettingsTable.add(clanTagSettingLabel).size(150, 40).fill().padLeft(90).left().spaceRight(10); playerSettingsTable.add(clanAcronymCheckBox).size(18, 18).fill().left().spaceLeft(10).spaceRight(10); playerSettingsTable.add(clanAcronymTextField).size(74, 28).fill().left().spaceLeft(10); playerSettingsTable.add().width(102).fill(); playerSettingsTable.add().expandX().fill(); verticalGroup.addActor(playerSettingsTable); // @formatter:on // @formatter:off final Table gameSettingsTable = new Table().top().left(); gameSettingsTable.row(); gameSettingsTable.add().height(18).colspan(3); gameSettingsTable.row(); gameSettingsTable.add(gameSettingsSectionTitleLabel).size(538, 42).fill().padLeft(60).padRight(60).left() .colspan(3); gameSettingsTable.row(); gameSettingsTable.add(serverAddressSettingLabel).size(150, 40).fill().padLeft(90).left().spaceRight(10); gameSettingsTable.add(serverAddressTextField).size(204, 28).fill().left().spaceLeft(10); gameSettingsTable.add().expandX().fill(); verticalGroup.addActor(gameSettingsTable); // @formatter:on addContent(verticalGroup); addBackButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { contractMenuBar(new Runnable() { @Override public void run() { toScreen(ScreenId.CLASSIC_GAME_MODE_MENU); } }); } }); forwardButton = addForwardButton("JOIN GAME", new ChangeListener() { @Override public void changed(final ChangeEvent event, final Actor actor) { final String playerName = playerNameTextField.getText(); if (!GameSettings.isValidPlayerNameWithoutClanTag(playerName)) { errorDialog.setMessage(new DefaultMessage( Strings.format("Invalid player name: \'{}\'\n\nValid player name rules:\n\n{}", playerName, GameSettings.VALID_PLAYER_NAME_DESCRIPTION))); errorDialog.show(); return; } final String clanAcronym = clanAcronymTextField.getText(); if (!clanAcronymTextField.isDisabled() && !GameSettings.isValidHumanClanAcronym(clanAcronym)) { errorDialog.setMessage(new DefaultMessage( Strings.format("Invalid clan tag: \'{}\'\n\nValid clan tag rules:\n\n{}", clanAcronym, GameSettings.VALID_CLAN_ACRONYM_DESCRIPTION))); errorDialog.show(); return; } final String playerNameWithOptionalClanTag = GameSettings .getHumanPlayerNameWithOptionalClanTag(playerName, clanAcronym); final String serverAddress = serverAddressTextField.getText(); if (!NetworkSettings.isValidServerAddress(serverAddress)) { errorDialog.setMessage(new DefaultMessage( Strings.format("Invalid server address: \'{}\'\n\nValid server address rules:\n\n{}", serverAddress, NetworkSettings.VALID_SERVER_ADDRESS_DESCRIPTION))); errorDialog.show(); return; } toScreen(ScreenId.MENU_TO_PLAY_LOADING); // The menu-to-play loading screen is now active & can therefore receive events. publishAsync(new JoinGameEvent(playerNameWithOptionalClanTag, serverAddress)); } }); }
From source file:com.forerunnergames.peril.client.ui.screens.menus.modes.GameModesMenuScreen.java
License:Open Source License
public GameModesMenuScreen(final MenuScreenWidgetFactory widgetFactory, final ScreenChanger screenChanger, final ScreenSize screenSize, final MouseInput mouseInput, final Batch batch, final MBassador<Event> eventBus) { super(widgetFactory, screenChanger, screenSize, mouseInput, batch, eventBus); addTitle("GAME MODES", Align.left, 60); addMenuChoiceSpacer(42);/*w w w . ja v a 2 s .c o m*/ addMenuChoice("CLASSIC", new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { toScreen(ScreenId.CLASSIC_GAME_MODE_MENU); } }); addMenuChoiceSpacer(10); addMenuChoice("PERIL", new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { // TODO Production: Go to PerilGameModeMenuScreen. // toScreen (ScreenId.PERIL_GAME_MODE_MENU); } }); addBackButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { toScreen(ScreenId.MAIN_MENU); } }); }
From source file:com.forerunnergames.peril.client.ui.screens.menus.modes.peril.PerilGameModeMenuScreen.java
License:Open Source License
public PerilGameModeMenuScreen(final MenuScreenWidgetFactory widgetFactory, final ScreenChanger screenChanger, final ScreenSize screenSize, final MouseInput mouseInput, final Batch batch, final MBassador<Event> eventBus) { super(widgetFactory, screenChanger, screenSize, mouseInput, batch, eventBus); addTitle("PERIL MODE", Align.left, 60); addMenuChoiceSpacer(42);/*from w ww.jav a2 s . c o m*/ addMenuChoice("CREATE GAME", new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { toScreen(ScreenId.PLAY_PERIL); } }); addMenuChoiceSpacer(10); addMenuChoice("JOIN GAME", new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { toScreen(ScreenId.PLAY_PERIL); } }); addBackButton(new ClickListener(Input.Buttons.LEFT) { @Override public void clicked(final InputEvent event, final float x, final float y) { toScreen(ScreenId.GAME_MODES_MENU); } }); }