mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 04:52:07 -08:00
[UI] Displaying playable cards in hand
This commit is contained in:
parent
2fcf655994
commit
5fcc3b1ba8
9 changed files with 119 additions and 193 deletions
|
|
@ -28,17 +28,6 @@
|
|||
|
||||
package mage.server.game;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import mage.cards.Cards;
|
||||
import mage.constants.ManaType;
|
||||
import mage.game.Game;
|
||||
|
|
@ -50,14 +39,16 @@ import mage.server.User;
|
|||
import mage.server.UserManager;
|
||||
import mage.server.util.ConfigSettings;
|
||||
import mage.server.util.ThreadExecutor;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.GameClientMessage;
|
||||
import mage.view.GameView;
|
||||
import mage.view.LookedAtView;
|
||||
import mage.view.SimpleCardsView;
|
||||
import mage.view.*;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
|
|
@ -245,15 +236,9 @@ public class GameSession extends GameWatcher {
|
|||
player.setUserData(this.userData);
|
||||
GameView gameView = new GameView(game.getState(), game, playerId);
|
||||
gameView.setHand(new SimpleCardsView(player.getHand().getCards(game)));
|
||||
gameView.setCanPlayInHand(player.getPlayableInHand(game));
|
||||
|
||||
if (player.getPlayersUnderYourControl().size() > 0) {
|
||||
Map<String, SimpleCardsView> handCards = new HashMap<>();
|
||||
for (UUID controlledPlayerId : player.getPlayersUnderYourControl()) {
|
||||
Player opponent = game.getPlayer(controlledPlayerId);
|
||||
handCards.put(opponent.getName(), new SimpleCardsView(opponent.getHand().getCards(game)));
|
||||
}
|
||||
gameView.setOpponentHands(handCards);
|
||||
}
|
||||
processControlledPlayers(player, gameView);
|
||||
|
||||
//TODO: should player who controls another player's turn be able to look at all these cards?
|
||||
|
||||
|
|
@ -267,6 +252,17 @@ public class GameSession extends GameWatcher {
|
|||
return gameView;
|
||||
}
|
||||
|
||||
private void processControlledPlayers(Player player, GameView gameView) {
|
||||
if (player.getPlayersUnderYourControl().size() > 0) {
|
||||
Map<String, SimpleCardsView> handCards = new HashMap<>();
|
||||
for (UUID controlledPlayerId : player.getPlayersUnderYourControl()) {
|
||||
Player opponent = game.getPlayer(controlledPlayerId);
|
||||
handCards.put(opponent.getName(), new SimpleCardsView(opponent.getHand().getCards(game)));
|
||||
}
|
||||
gameView.setOpponentHands(handCards);
|
||||
}
|
||||
}
|
||||
|
||||
public void removeGame() {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue