mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
registered players as r/o list
This commit is contained in:
@@ -23,9 +23,6 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
|
|
||||||
import org.testng.collections.Lists;
|
|
||||||
|
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.CardLists;
|
import forge.CardLists;
|
||||||
import forge.CardPredicates.Presets;
|
import forge.CardPredicates.Presets;
|
||||||
@@ -59,7 +56,7 @@ import forge.game.zone.ZoneType;
|
|||||||
*/
|
*/
|
||||||
public class GameState {
|
public class GameState {
|
||||||
private final List<Player> roIngamePlayers;
|
private final List<Player> roIngamePlayers;
|
||||||
private final List<Player> players = new ArrayList<Player>();
|
private final List<Player> allPlayers;
|
||||||
private final List<Player> ingamePlayers = new ArrayList<Player>();
|
private final List<Player> ingamePlayers = new ArrayList<Player>();
|
||||||
|
|
||||||
private final Cleanup cleanup = new Cleanup();
|
private final Cleanup cleanup = new Cleanup();
|
||||||
@@ -88,12 +85,13 @@ public class GameState {
|
|||||||
* @param players2
|
* @param players2
|
||||||
*/
|
*/
|
||||||
public GameState(Iterable<LobbyPlayer> players2) { /* no more zones to map here */
|
public GameState(Iterable<LobbyPlayer> players2) { /* no more zones to map here */
|
||||||
|
List<Player> players = new ArrayList<Player>();
|
||||||
for(LobbyPlayer p : players2) {
|
for(LobbyPlayer p : players2) {
|
||||||
Player pl = getIngamePlayer(p);
|
Player pl = getIngamePlayer(p);
|
||||||
players.add(pl);
|
players.add(pl);
|
||||||
ingamePlayers.add(pl);
|
ingamePlayers.add(pl);
|
||||||
}
|
}
|
||||||
|
allPlayers = Collections.unmodifiableList(players);
|
||||||
roIngamePlayers = Collections.unmodifiableList(ingamePlayers);
|
roIngamePlayers = Collections.unmodifiableList(ingamePlayers);
|
||||||
action = new GameAction(this);
|
action = new GameAction(this);
|
||||||
stack = new MagicStack(this);
|
stack = new MagicStack(this);
|
||||||
@@ -115,7 +113,7 @@ public class GameState {
|
|||||||
* @return the players
|
* @return the players
|
||||||
*/
|
*/
|
||||||
public final List<Player> getRegisteredPlayers() {
|
public final List<Player> getRegisteredPlayers() {
|
||||||
return Lists.newArrayList(players);
|
return allPlayers;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -461,8 +459,8 @@ public class GameState {
|
|||||||
{
|
{
|
||||||
int iAlive;
|
int iAlive;
|
||||||
do{
|
do{
|
||||||
iPlayer = ( players.indexOf(playerTurn) + 1 ) % players.size();
|
iPlayer = ( allPlayers.indexOf(playerTurn) + 1 ) % allPlayers.size();
|
||||||
iAlive = roIngamePlayers.indexOf(players.get(iPlayer));
|
iAlive = roIngamePlayers.indexOf(allPlayers.get(iPlayer));
|
||||||
} while(iAlive < 0);
|
} while(iAlive < 0);
|
||||||
iPlayer = iAlive;
|
iPlayer = iAlive;
|
||||||
} else { // for the case noone has died
|
} else { // for the case noone has died
|
||||||
|
|||||||
Reference in New Issue
Block a user