translate enum ZoneType

This commit is contained in:
CCTV-1
2019-12-30 10:35:16 +08:00
parent cea6d3a9df
commit c9f33415e1
6 changed files with 46 additions and 27 deletions

View File

@@ -752,10 +752,10 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
if (optional) {
String prompt;
if (defined) {
prompt = Localizer.getInstance().getMessage("lblPutThatCardFromPlayerOriginToDestination", "{player's}", Lang.joinHomogenous(origin).toLowerCase(), destination.name().toLowerCase());
prompt = Localizer.getInstance().getMessage("lblPutThatCardFromPlayerOriginToDestination", "{player's}", Lang.joinHomogenous(origin, ZoneType.Accessors.GET_TRANSLATED_NAME).toLowerCase(), destination.name().toLowerCase());
}
else {
prompt = Localizer.getInstance().getMessage("lblSearchPlayerZoneConfirm", "{player's}", Lang.joinHomogenous(origin).toLowerCase());
prompt = Localizer.getInstance().getMessage("lblSearchPlayerZoneConfirm", "{player's}", Lang.joinHomogenous(origin, ZoneType.Accessors.GET_TRANSLATED_NAME).toLowerCase());
}
String message = MessageUtil.formatMessage(prompt , decider, player);
if (!decider.getController().confirmAction(sa, PlayerActionConfirmMode.ChangeZoneGeneral, message)) {
@@ -861,7 +861,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
final boolean champion = sa.hasParam("Champion");
final boolean forget = sa.hasParam("ForgetChanged");
final boolean imprint = sa.hasParam("Imprint");
String selectPrompt = sa.hasParam("SelectPrompt") ? sa.getParam("SelectPrompt") : MessageUtil.formatMessage(Localizer.getInstance().getMessage("lblSelectCardFromPlayerZone", "{player's}", Lang.joinHomogenous(origin).toLowerCase()), decider, player);
String selectPrompt = sa.hasParam("SelectPrompt") ? sa.getParam("SelectPrompt") : MessageUtil.formatMessage(Localizer.getInstance().getMessage("lblSelectCardFromPlayerZone", "{player's}", Lang.joinHomogenous(origin, ZoneType.Accessors.GET_TRANSLATED_NAME).toLowerCase()), decider, player);
final String totalcmc = sa.getParam("WithTotalCMC");
int totcmc = AbilityUtils.calculateAmount(source, totalcmc, sa);
@@ -875,9 +875,9 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
// new default messaging for multi select
if (fetchList.size() > changeNum) {
//Select up to %changeNum cards from %players %origin
selectPrompt = MessageUtil.formatMessage(Localizer.getInstance().getMessage("lblSelectUpToNumCardFromPlayerZone", String.valueOf(changeNum), "{player's}", Lang.joinHomogenous(origin).toLowerCase()), decider, player);
selectPrompt = MessageUtil.formatMessage(Localizer.getInstance().getMessage("lblSelectUpToNumCardFromPlayerZone", String.valueOf(changeNum), "{player's}", Lang.joinHomogenous(origin, ZoneType.Accessors.GET_TRANSLATED_NAME).toLowerCase()), decider, player);
} else {
selectPrompt = MessageUtil.formatMessage(Localizer.getInstance().getMessage("lblSelectCardsFromPlayerZone", "{player's}", Lang.joinHomogenous(origin).toLowerCase()), decider, player);
selectPrompt = MessageUtil.formatMessage(Localizer.getInstance().getMessage("lblSelectCardsFromPlayerZone", "{player's}", Lang.joinHomogenous(origin, ZoneType.Accessors.GET_TRANSLATED_NAME).toLowerCase()), decider, player);
}
}
// ensure that selection is within maximum allowed changeNum

View File

@@ -246,7 +246,7 @@ public class DigEffect extends SpellAbilityEffect {
if (sa.hasParam("PrimaryPrompt")) {
prompt = sa.getParam("PrimaryPrompt");
} else {
prompt = Localizer.getInstance().getMessage("lblChooseCardsPutIntoZone", destZone1.name());
prompt = Localizer.getInstance().getMessage("lblChooseCardsPutIntoZone", destZone1.getTranslatedName());
if (destZone1.equals(ZoneType.Library)) {
if (libraryPosition == -1) {
prompt = Localizer.getInstance().getMessage("lblChooseCardPutOnTargetLibarayBottom", "{player's}");

View File

@@ -160,7 +160,7 @@ public class DigUntilEffect extends SpellAbilityEffect {
final Card c = itr.next();
final ZoneType origin = c.getZone().getZoneType();
if (optionalFound && !p.getController().confirmAction(sa, null,
Localizer.getInstance().getMessage("lblDoYouWantPutCardToZone", foundDest.name()))) {
Localizer.getInstance().getMessage("lblDoYouWantPutCardToZone", foundDest.getTranslatedName()))) {
continue;
} else {
Card m = null;

View File

@@ -1,32 +1,38 @@
package forge.game.zone;
import forge.util.Localizer;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.google.common.base.Function;
/**
* The Enum Zone.
*/
public enum ZoneType {
Hand(true),
Library(true),
Graveyard(false),
Battlefield(false),
Exile(false),
Flashback(false),
Command(false),
Stack(false),
Sideboard(true),
Ante(false),
SchemeDeck(true),
PlanarDeck(true),
None(true);
Hand(true, Localizer.getInstance().getMessage("lblHandZone")),
Library(true, Localizer.getInstance().getMessage("lblLibraryZone")),
Graveyard(false, Localizer.getInstance().getMessage("lblGraveyardZone")),
Battlefield(false, Localizer.getInstance().getMessage("lblBattlefieldZone")),
Exile(false, Localizer.getInstance().getMessage("lblExileZone")),
Flashback(false, Localizer.getInstance().getMessage("lblFlashbackZone")),
Command(false, Localizer.getInstance().getMessage("lblCommandZone")),
Stack(false, Localizer.getInstance().getMessage("lblStackZone")),
Sideboard(true, Localizer.getInstance().getMessage("lblSideboardZone")),
Ante(false, Localizer.getInstance().getMessage("lblAnteZone")),
SchemeDeck(true, Localizer.getInstance().getMessage("lblSchemeDeckZone")),
PlanarDeck(true, Localizer.getInstance().getMessage("lblPlanarDeckZone")),
None(true, Localizer.getInstance().getMessage("lblNoneZone"));
public static final List<ZoneType> STATIC_ABILITIES_SOURCE_ZONES = Arrays.asList(Battlefield, Graveyard, Exile, Command/*, Hand*/);
private final boolean holdsHiddenInfo;
ZoneType(boolean holdsHidden) {
private final String zoneName;
ZoneType(boolean holdsHidden, String name) {
holdsHiddenInfo = holdsHidden;
zoneName = name;
}
public static ZoneType smartValueOf(final String value) {
@@ -64,6 +70,10 @@ public enum ZoneType {
return !holdsHiddenInfo;
}
public String getTranslatedName() {
return zoneName;
}
public static boolean isHidden(final String origin) {
List<ZoneType> zone = ZoneType.listValueOf(origin);
@@ -82,4 +92,13 @@ public enum ZoneType {
public static boolean isKnown(final String origin) {
return !isHidden(origin);
}
public static class Accessors {
public static Function<ZoneType, String> GET_TRANSLATED_NAME = new Function<ZoneType, String>() {
@Override
public String apply(final ZoneType arg0) {
return arg0.getTranslatedName();
}
};
}
}