1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-09 17:00:09 -09:00

Modes are now sorted in the order they are added in the card. For rules text and when a player chooses a mode.

This commit is contained in:
LevelX2 2012-10-07 02:41:58 +02:00
parent 7de8b2860f
commit 76233a4252
2 changed files with 11 additions and 7 deletions
Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human
Mage/src/mage/abilities

View file

@ -717,7 +717,7 @@ public class HumanPlayer extends PlayerImpl<HumanPlayer> {
updateGameStatePriority("chooseMode", game);
if (modes.size() > 1) {
MageObject obj = game.getObject(source.getSourceId());
Map<UUID, String> modeMap = new HashMap<UUID, String>();
Map<UUID, String> modeMap = new LinkedHashMap<UUID, String>();
for (Mode mode: modes.values()) {
String modeText = mode.getEffects().getText(mode);
if (obj != null)

View file

@ -27,7 +27,7 @@
*/
package mage.abilities;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.UUID;
import mage.game.Game;
@ -37,7 +37,7 @@ import mage.players.Player;
*
* @author BetaSteward_at_googlemail.com
*/
public class Modes extends HashMap<UUID, Mode> {
public class Modes extends LinkedHashMap<UUID, Mode> {
private UUID modeId;
@ -63,8 +63,9 @@ public class Modes extends HashMap<UUID, Mode> {
}
public void setMode(Mode mode) {
if (this.containsKey(mode.getId()))
if (this.containsKey(mode.getId())) {
this.modeId = mode.getId();
}
}
public void addMode(Mode mode) {
@ -75,8 +76,9 @@ public class Modes extends HashMap<UUID, Mode> {
if (this.size() > 1) {
Player player = game.getPlayer(source.getControllerId());
Mode choice = player.chooseMode(this, source, game);
if (choice == null)
if (choice == null) {
return false;
}
setMode(choice);
return true;
}
@ -86,8 +88,9 @@ public class Modes extends HashMap<UUID, Mode> {
public String getText() {
StringBuilder sb = new StringBuilder();
if (this.size() > 1)
if (this.size() > 1) {
sb.append("Choose one - ");
}
for (Mode mode: this.values()) {
sb.append(mode.getEffects().getText(mode)).append("; or ");
}
@ -97,8 +100,9 @@ public class Modes extends HashMap<UUID, Mode> {
public String getText(String sourceName) {
StringBuilder sb = new StringBuilder();
if (this.size() > 1)
if (this.size() > 1) {
sb.append("Choose one - ");
}
for (Mode mode: this.values()) {
sb.append(mode.getEffects().getText(mode)).append("; or ");
}