mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
support choose localization card name
This commit is contained in:
@@ -3,24 +3,40 @@ package forge.game.card;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
public class CardFaceView implements Serializable, Comparable<CardFaceView> {
|
public class CardFaceView implements Serializable, Comparable<CardFaceView> {
|
||||||
private String name;
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 1874016432028306386L;
|
||||||
|
private String displayName;
|
||||||
|
private String oracleName;
|
||||||
|
|
||||||
public CardFaceView(String faceName) {
|
public CardFaceView(String displayName) {
|
||||||
this.name = faceName;
|
this(displayName, displayName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() { return name;}
|
public CardFaceView(String displayFaceName, String oracleFaceName ) {
|
||||||
|
this.displayName = displayFaceName;
|
||||||
|
this.oracleName = oracleFaceName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() { return displayName;}
|
||||||
|
|
||||||
public void setName(String name) {
|
public void setName(String name) {
|
||||||
this.name = name;
|
this.displayName = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOracleName() { return oracleName; }
|
||||||
|
|
||||||
|
public void setOracleName(String name) {
|
||||||
|
this.oracleName = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return name;
|
return displayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int compareTo(CardFaceView o) {
|
public int compareTo(CardFaceView o) {
|
||||||
return this.getName().compareTo(o.getName());
|
return this.getOracleName().compareTo(o.getOracleName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1561,12 +1561,12 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
|||||||
CardFaceView cardFaceView;
|
CardFaceView cardFaceView;
|
||||||
List<CardFaceView> choices = new ArrayList<>();
|
List<CardFaceView> choices = new ArrayList<>();
|
||||||
for (ICardFace cardFace : cards) {
|
for (ICardFace cardFace : cards) {
|
||||||
cardFaceView = new CardFaceView(cardFace.getName());
|
cardFaceView = new CardFaceView(CardTranslation.getTranslatedName(cardFace.getName()), cardFace.getName());
|
||||||
choices.add(cardFaceView);
|
choices.add(cardFaceView);
|
||||||
}
|
}
|
||||||
Collections.sort(choices);
|
Collections.sort(choices);
|
||||||
cardFaceView = getGui().one(message, choices);
|
cardFaceView = getGui().one(message, choices);
|
||||||
return StaticData.instance().getCommonCards().getFaceByName(cardFaceView.getName());
|
return StaticData.instance().getCommonCards().getFaceByName(cardFaceView.getOracleName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1960,7 +1960,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
|||||||
}
|
}
|
||||||
|
|
||||||
public class DevModeCheats implements IDevModeCheats {
|
public class DevModeCheats implements IDevModeCheats {
|
||||||
private ICardFace lastAdded;
|
private CardFaceView lastAdded;
|
||||||
private ZoneType lastAddedZone;
|
private ZoneType lastAddedZone;
|
||||||
private Player lastAddedPlayer;
|
private Player lastAddedPlayer;
|
||||||
private SpellAbility lastAddedSA;
|
private SpellAbility lastAddedSA;
|
||||||
@@ -2363,15 +2363,21 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
|||||||
|
|
||||||
final CardDb carddb = FModel.getMagicDb().getCommonCards();
|
final CardDb carddb = FModel.getMagicDb().getCommonCards();
|
||||||
final List<ICardFace> faces = Lists.newArrayList(carddb.getAllFaces());
|
final List<ICardFace> faces = Lists.newArrayList(carddb.getAllFaces());
|
||||||
Collections.sort(faces);
|
List<CardFaceView> choices = new ArrayList<>();
|
||||||
|
CardFaceView cardFaceView;
|
||||||
|
for (ICardFace cardFace : faces) {
|
||||||
|
cardFaceView = new CardFaceView(CardTranslation.getTranslatedName(cardFace.getName()), cardFace.getName());
|
||||||
|
choices.add(cardFaceView);
|
||||||
|
}
|
||||||
|
Collections.sort(choices);
|
||||||
|
|
||||||
// use standard forge's list selection dialog
|
// use standard forge's list selection dialog
|
||||||
final ICardFace f = repeatLast ? lastAdded : getGui().oneOrNone(localizer.getMessage("lblNameTheCard"), faces);
|
final CardFaceView f = repeatLast ? lastAdded : getGui().oneOrNone(localizer.getMessage("lblNameTheCard"), choices);
|
||||||
if (f == null) {
|
if (f == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final PaperCard c = carddb.getUniqueByName(f.getName());
|
final PaperCard c = carddb.getUniqueByName(f.getOracleName());
|
||||||
final Card forgeCard = Card.fromPaperCard(c, p);
|
final Card forgeCard = Card.fromPaperCard(c, p);
|
||||||
|
|
||||||
game.getAction().invoke(new Runnable() {
|
game.getAction().invoke(new Runnable() {
|
||||||
|
|||||||
Reference in New Issue
Block a user