public void toggleIsPlayerArchenemy() { if (screen.hasVariant(GameType.Archenemy)) { setIsArchenemy(screen.lastArchenemy == index); } else { setIsArchenemy(screen.hasVariant(GameType.ArchenemyRumble)); } screen.updateLayoutForVariants(); }
private void createAvatar() { String[] currentPrefs = prefs.getPref(FPref.UI_AVATARS).split(","); if (index < currentPrefs.length) { setAvatarIndex(Integer.parseInt(currentPrefs[index])); } else { setAvatarIndex(AvatarSelector.getRandomAvatar(screen.getUsedAvatars())); } avatarLabel.setCommand(avatarCommand); }
@Override public void handleEvent(FEvent e) { boolean toggled = humanAiSwitch.isToggled(); if (allowNetworking) { setIsReady(toggled); screen.setReady(index, toggled); } else { type = toggled ? LobbySlotType.AI : LobbySlotType.LOCAL; onIsAiChanged(toggled); LobbySlot slot = screen.getLobby().getSlot(index); slot.setType(type); // update may edit in-case it changed as a result of the AI change setMayEdit(screen.getLobby().mayEdit(index)); setAvatarIndex(slot.getAvatarIndex()); setPlayerName(slot.getName()); } }
@Override public void handleEvent(FEvent e) { @SuppressWarnings("unchecked") FComboBox<Object> cb = (FComboBox<Object>) e.getSource(); if (cb.getSelectedIndex() == -1) { return; } if (screen.hasVariant(GameType.Archenemy)) { String sel = (String) cb.getSelectedItem(); if (sel.contains("Archenemy")) { screen.lastArchenemy = index; for (PlayerPanel pp : screen.getPlayerPanels()) { int i = pp.index; int team = i == screen.lastArchenemy ? 0 : 1; pp.setArchenemyTeam(team); pp.toggleIsPlayerArchenemy(); } } } }
public void updateVariantControlsVisibility() { boolean isCommanderApplied = false; boolean isTinyLeadersApplied = false; boolean isPlanechaseApplied = false; boolean isVanguardApplied = false; boolean isArchenemyApplied = false; boolean archenemyVisiblity = false; boolean isDeckBuildingAllowed = mayEdit; for (GameType variant : screen.getLobby().getAppliedVariants()) { switch (variant) { case Archenemy: isArchenemyApplied = true; if (isArchenemy()) { archenemyVisiblity = true; } break; case ArchenemyRumble: archenemyVisiblity = true; break; case Commander: isCommanderApplied = true; isDeckBuildingAllowed = false; // Commander deck replaces basic deck, so hide that break; case TinyLeaders: isTinyLeadersApplied = true; isDeckBuildingAllowed = false; // Tiny Leaders deck replaces basic deck, so hide that break; case Planechase: isPlanechaseApplied = true; break; case Vanguard: isVanguardApplied = true; break; default: if (variant.isAutoGenerated()) { isDeckBuildingAllowed = false; } break; } } btnDeck.setVisible(isDeckBuildingAllowed); btnCommanderDeck.setVisible(isCommanderApplied && mayEdit); btnTinyLeadersDeck.setVisible(isTinyLeadersApplied && mayEdit); btnSchemeDeck.setVisible(archenemyVisiblity && mayEdit); cbTeam.setVisible(!isArchenemyApplied); cbArchenemyTeam.setVisible(isArchenemyApplied); btnPlanarDeck.setVisible(isPlanechaseApplied && mayEdit); btnVanguardAvatar.setVisible(isVanguardApplied && mayEdit); }
private void createNameEditor() { String name; if (index == 0) { name = FModel.getPreferences().getPref(FPref.PLAYER_NAME); if (name.isEmpty()) { name = "Human"; } } else { name = NameGenerator.getRandomName("Any", "Any", screen.getPlayerNames()); } txtPlayerName.setText(name); txtPlayerName.setFont(LABEL_FONT); txtPlayerName.setChangedHandler(nameChangedHandler); }
public void setMayEdit(boolean mayEdit0) { if (mayEdit == mayEdit0) { return; } mayEdit = mayEdit0; avatarLabel.setEnabled(mayEdit); txtPlayerName.setEnabled(mayEdit); nameRandomiser.setEnabled(mayEdit); humanAiSwitch.setEnabled(mayEdit); updateVariantControlsVisibility(); // if panel has height already, ensure height updated to account for button visibility changes if (getHeight() > 0) { screen.getPlayersScroll().revalidate(); } }
@Override public void handleEvent(FEvent e) { final Object source = e.getSource(); if (source instanceof FTextField) { // the text box FTextField nField = (FTextField) source; String newName = nField.getText().trim(); if (index == 0 && !StringUtils.isBlank(newName) && StringUtils.isAlphanumericSpace(newName) && prefs.getPref(FPref.PLAYER_NAME) != newName) { prefs.setPref(FPref.PLAYER_NAME, newName); prefs.save(); if (allowNetworking) { screen.firePlayerChangeListener(index); } } } }
@Override public void handleEvent(FEvent e) { AvatarSelector.show( getPlayerName(), avatarIndex, screen.getUsedAvatars(), new Callback<Integer>() { @Override public void run(Integer result) { setAvatarIndex(result); if (index < 2) { screen.updateAvatarPrefs(); } if (allowNetworking) { screen.firePlayerChangeListener(index); } } }); }