Update deck button visibility for online lobby

This commit is contained in:
drdev
2015-05-31 22:56:20 +00:00
parent d6c598cb54
commit e80b743aca
2 changed files with 21 additions and 28 deletions

View File

@@ -167,8 +167,7 @@ public abstract class LobbyScreen extends LaunchScreen implements ILobbyView {
} }
}); });
} }
else { //handle offline lobby case else {
playerPanels.get(1).setDeckSelectorButtonText("Waiting for opponent...");
Gdx.graphics.requestRendering(); Gdx.graphics.requestRendering();
} }
} }

View File

@@ -26,7 +26,6 @@ import forge.game.GameType;
import forge.item.PaperCard; import forge.item.PaperCard;
import forge.itemmanager.CardManager; import forge.itemmanager.CardManager;
import forge.itemmanager.DeckManager; import forge.itemmanager.DeckManager;
import forge.match.GameLobby;
import forge.match.LobbySlot; import forge.match.LobbySlot;
import forge.match.LobbySlotType; import forge.match.LobbySlotType;
import forge.model.FModel; import forge.model.FModel;
@@ -201,8 +200,6 @@ public class PlayerPanel extends FContainer {
setMayEdit(mayEdit0); setMayEdit(mayEdit0);
setMayControl(mayControl0); setMayControl(mayControl0);
updateVariantControlsVisibility();
//disable team combo boxes for now //disable team combo boxes for now
cbTeam.setEnabled(false); cbTeam.setEnabled(false);
} }
@@ -268,23 +265,20 @@ public class PlayerPanel extends FContainer {
public float getPreferredHeight() { public float getPreferredHeight() {
int rows = 3; int rows = 3;
GameLobby lobby = screen.getLobby(); if (!btnDeck.isVisible()) {
if (lobby != null && lobby.hasAnyVariant()) { rows--;
if (!btnDeck.isVisible()) { }
rows--; if (btnCommanderDeck.isVisible()) {
} rows++;
if (btnCommanderDeck.isVisible()) { }
rows++; if (btnSchemeDeck.isVisible()) {
} rows++;
if (btnSchemeDeck.isVisible()) { }
rows++; if (btnPlanarDeck.isVisible()) {
} rows++;
if (btnPlanarDeck.isVisible()) { }
rows++; if (btnVanguardAvatar.isVisible()) {
} rows++;
if (btnVanguardAvatar.isVisible()) {
rows++;
}
} }
return rows * (txtPlayerName.getHeight() + PADDING) + PADDING; return rows * (txtPlayerName.getHeight() + PADDING) + PADDING;
} }
@@ -368,7 +362,7 @@ public class PlayerPanel extends FContainer {
boolean isVanguardApplied = false; boolean isVanguardApplied = false;
boolean isArchenemyApplied = false; boolean isArchenemyApplied = false;
boolean archenemyVisiblity = false; boolean archenemyVisiblity = false;
boolean isDeckBuildingAllowed = true; boolean isDeckBuildingAllowed = mayEdit;
for (GameType variant : screen.getLobby().getAppliedVariants()) { for (GameType variant : screen.getLobby().getAppliedVariants()) {
switch (variant) { switch (variant) {
@@ -400,15 +394,15 @@ public class PlayerPanel extends FContainer {
} }
btnDeck.setVisible(isDeckBuildingAllowed); btnDeck.setVisible(isDeckBuildingAllowed);
btnCommanderDeck.setVisible(isCommanderApplied); btnCommanderDeck.setVisible(isCommanderApplied && mayEdit);
btnSchemeDeck.setVisible(archenemyVisiblity); btnSchemeDeck.setVisible(archenemyVisiblity && mayEdit);
cbTeam.setVisible(!isArchenemyApplied); cbTeam.setVisible(!isArchenemyApplied);
cbArchenemyTeam.setVisible(isArchenemyApplied); cbArchenemyTeam.setVisible(isArchenemyApplied);
btnPlanarDeck.setVisible(isPlanechaseApplied); btnPlanarDeck.setVisible(isPlanechaseApplied && mayEdit);
btnVanguardAvatar.setVisible(isVanguardApplied); btnVanguardAvatar.setVisible(isVanguardApplied && mayEdit);
} }
public boolean isAi() { public boolean isAi() {
@@ -615,7 +609,7 @@ public class PlayerPanel extends FContainer {
avatarLabel.setEnabled(mayEdit); avatarLabel.setEnabled(mayEdit);
txtPlayerName.setEnabled(mayEdit); txtPlayerName.setEnabled(mayEdit);
nameRandomiser.setEnabled(mayEdit); nameRandomiser.setEnabled(mayEdit);
btnDeck.setVisible(mayEdit); updateVariantControlsVisibility();
} }
public void setMayControl(boolean mayControl0) { public void setMayControl(boolean mayControl0) {