@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()); } }
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); }