mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-11 16:26:22 +00:00
ColorEnum: use ITranslatable interface
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package forge.card;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
import forge.util.ITranslatable;
|
||||
import forge.util.Localizer;
|
||||
|
||||
/**
|
||||
@@ -157,7 +159,7 @@ public final class MagicColor {
|
||||
}
|
||||
}
|
||||
|
||||
public enum Color {
|
||||
public enum Color implements ITranslatable {
|
||||
WHITE(Constant.WHITE, MagicColor.WHITE, "W", "lblWhite"),
|
||||
BLUE(Constant.BLUE, MagicColor.BLUE, "U", "lblBlue"),
|
||||
BLACK(Constant.BLACK, MagicColor.BLACK, "B", "lblBlack"),
|
||||
@@ -188,6 +190,7 @@ public final class MagicColor {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
@@ -195,7 +198,8 @@ public final class MagicColor {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public String getLocalizedName() {
|
||||
@Override
|
||||
public String getTranslatedName() {
|
||||
return Localizer.getInstance().getMessage(label);
|
||||
}
|
||||
|
||||
@@ -205,10 +209,6 @@ public final class MagicColor {
|
||||
public String getSymbol() {
|
||||
return symbol;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return getLocalizedName();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -994,7 +994,7 @@ public class DeckRecognizer {
|
||||
private static String getMagicColourLabel(MagicColor.Color magicColor) {
|
||||
if (magicColor == null) // Multicolour
|
||||
return String.format("%s {W}{U}{B}{R}{G}", getLocalisedMagicColorName("Multicolour"));
|
||||
return String.format("%s %s", magicColor.getLocalizedName(), magicColor.getSymbol());
|
||||
return String.format("%s %s", magicColor.getTranslatedName(), magicColor.getSymbol());
|
||||
}
|
||||
|
||||
private static final HashMap<Integer, String> manaSymbolsMap = new HashMap<Integer, String>() {{
|
||||
@@ -1013,8 +1013,8 @@ public class DeckRecognizer {
|
||||
if (magicColor2 == null || magicColor2 == MagicColor.Color.COLORLESS
|
||||
|| magicColor1 == MagicColor.Color.COLORLESS)
|
||||
return String.format("%s // %s", getMagicColourLabel(magicColor1), getMagicColourLabel(magicColor2));
|
||||
String localisedName1 = magicColor1.getLocalizedName();
|
||||
String localisedName2 = magicColor2.getLocalizedName();
|
||||
String localisedName1 = magicColor1.getTranslatedName();
|
||||
String localisedName2 = magicColor2.getTranslatedName();
|
||||
String comboManaSymbol = manaSymbolsMap.get(magicColor1.getColorMask() | magicColor2.getColorMask());
|
||||
return String.format("%s/%s {%s}", localisedName1, localisedName2, comboManaSymbol);
|
||||
}
|
||||
|
||||
@@ -52,9 +52,4 @@ public interface IPaperCard extends InventoryItem, Serializable {
|
||||
default String getUntranslatedType() {
|
||||
return getRules().getType().toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
default String getUntranslatedOracle() {
|
||||
return getRules().getOracleText();
|
||||
}
|
||||
}
|
||||
@@ -10,13 +10,11 @@ public interface ITranslatable extends IHasName {
|
||||
default String getUntranslatedName() {
|
||||
return getName();
|
||||
}
|
||||
default String getTranslatedName() {
|
||||
return getName();
|
||||
}
|
||||
|
||||
default String getUntranslatedType() {
|
||||
return "";
|
||||
}
|
||||
|
||||
default String getUntranslatedOracle() {
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7849,8 +7849,8 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars, ITr
|
||||
return currentState.getUntranslatedType();
|
||||
}
|
||||
@Override
|
||||
public String getUntranslatedOracle() {
|
||||
return currentState.getUntranslatedOracle();
|
||||
public String getTranslatedName() {
|
||||
return CardTranslation.getTranslatedName(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -40,6 +40,7 @@ import forge.game.spellability.SpellAbilityPredicates;
|
||||
import forge.game.spellability.SpellPermanent;
|
||||
import forge.game.staticability.StaticAbility;
|
||||
import forge.game.trigger.Trigger;
|
||||
import forge.util.CardTranslation;
|
||||
import forge.util.ITranslatable;
|
||||
import forge.util.IterableUtil;
|
||||
import forge.util.collect.FCollection;
|
||||
@@ -946,7 +947,7 @@ public class CardState extends GameObject implements IHasSVars, ITranslatable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUntranslatedOracle() {
|
||||
return getOracleText();
|
||||
public String getTranslatedName() {
|
||||
return CardTranslation.getTranslatedName(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1841,8 +1841,8 @@ public class CardView extends GameEntityView {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUntranslatedOracle() {
|
||||
return getOracleText();
|
||||
public String getTranslatedName() {
|
||||
return CardTranslation.getTranslatedName(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ package forge.game.event;
|
||||
import forge.card.CardStateName;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.player.Player;
|
||||
import forge.util.CardTranslation;
|
||||
import forge.util.Lang;
|
||||
|
||||
public record GameEventDoorChanged(Player activatingPlayer, Card card, CardStateName state, boolean unlock) implements GameEvent {
|
||||
@@ -15,7 +14,7 @@ public record GameEventDoorChanged(Player activatingPlayer, Card card, CardState
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
String doorName = CardTranslation.getTranslatedName(card.getState(state));
|
||||
String doorName = card.getState(state).getTranslatedName();
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(activatingPlayer);
|
||||
|
||||
@@ -242,7 +242,7 @@ public abstract class ReplacementEffect extends TriggerReplacementBase {
|
||||
String desc = AbilityUtils.applyDescriptionTextChangeEffects(getParam("Description"), this);
|
||||
ITranslatable nameSource = getHostName(this);
|
||||
desc = CardTranslation.translateMultipleDescriptionText(desc, nameSource);
|
||||
String translatedName = CardTranslation.getTranslatedName(nameSource);
|
||||
String translatedName = nameSource.getTranslatedName();
|
||||
desc = TextUtil.fastReplace(desc, "CARDNAME", translatedName);
|
||||
desc = TextUtil.fastReplace(desc, "NICKNAME", Lang.getInstance().getNickName(translatedName));
|
||||
if (desc.contains("EFFECTSOURCE")) {
|
||||
|
||||
@@ -1121,7 +1121,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
||||
if (node.getHostCard() != null && !desc.isEmpty()) {
|
||||
ITranslatable nameSource = getHostName(node);
|
||||
desc = CardTranslation.translateMultipleDescriptionText(desc, nameSource);
|
||||
String translatedName = CardTranslation.getTranslatedName(nameSource);
|
||||
String translatedName = nameSource.getTranslatedName();
|
||||
desc = TextUtil.fastReplace(desc, "CARDNAME", translatedName);
|
||||
desc = TextUtil.fastReplace(desc, "NICKNAME", Lang.getInstance().getNickName(translatedName));
|
||||
if (node.getOriginalHost() != null) {
|
||||
|
||||
@@ -206,7 +206,7 @@ public class StaticAbility extends CardTraitBase implements IIdentifiable, Clone
|
||||
if (hasParam("Description") && !this.isSuppressed()) {
|
||||
ITranslatable nameSource = getHostName(this);
|
||||
String desc = CardTranslation.translateSingleDescriptionText(getParam("Description"), nameSource);
|
||||
String translatedName = CardTranslation.getTranslatedName(nameSource);
|
||||
String translatedName = nameSource.getTranslatedName();
|
||||
desc = TextUtil.fastReplace(desc, "CARDNAME", translatedName);
|
||||
desc = TextUtil.fastReplace(desc, "NICKNAME", Lang.getInstance().getNickName(translatedName));
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ public abstract class Trigger extends TriggerReplacementBase {
|
||||
String desc = getParam("TriggerDescription");
|
||||
if (!desc.contains("ABILITY")) {
|
||||
desc = CardTranslation.translateSingleDescriptionText(getParam("TriggerDescription"), nameSource);
|
||||
String translatedName = CardTranslation.getTranslatedName(nameSource);
|
||||
String translatedName = nameSource.getTranslatedName();
|
||||
desc = TextUtil.fastReplace(desc,"CARDNAME", translatedName);
|
||||
desc = TextUtil.fastReplace(desc,"NICKNAME", Lang.getInstance().getNickName(translatedName));
|
||||
if (desc.contains("ORIGINALHOST") && this.getOriginalHost() != null) {
|
||||
@@ -218,7 +218,7 @@ public abstract class Trigger extends TriggerReplacementBase {
|
||||
result = TextUtil.fastReplace(result, "ABILITY", saDesc);
|
||||
|
||||
result = CardTranslation.translateMultipleDescriptionText(result, sa.getHostCard());
|
||||
String translatedName = CardTranslation.getTranslatedName(sa.getHostCard());
|
||||
String translatedName = sa.getHostCard().getTranslatedName();
|
||||
result = TextUtil.fastReplace(result,"CARDNAME", translatedName);
|
||||
result = TextUtil.fastReplace(result,"NICKNAME", Lang.getInstance().getNickName(translatedName));
|
||||
}
|
||||
|
||||
@@ -451,7 +451,7 @@ public class CardDetailUtil {
|
||||
if (card.getMarkedColors() != null && !card.getMarkedColors().isColorless()) {
|
||||
area.append("\n");
|
||||
area.append("(").append(Localizer.getInstance().getMessage("lblSelected")).append(": ");
|
||||
area.append(Lang.joinHomogenous(card.getMarkedColors().stream().map(MagicColor.Color::getLocalizedName).collect(Collectors.toList())));
|
||||
area.append(Lang.joinHomogenous(card.getMarkedColors().stream().map(MagicColor.Color::getTranslatedName).collect(Collectors.toList())));
|
||||
area.append(")");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user