GUI: added missing image info in card popup hint (works in any render mode, support cards, tokens, emblems, etc - can be disabled in Preferences, related to #7759, #2158);

This commit is contained in:
Oleg Agafonov 2024-02-19 12:40:35 +04:00
parent e26445774b
commit 34816be219
7 changed files with 83 additions and 52 deletions

View file

@ -14,21 +14,18 @@ public class TokenInfo {
private final String classFileName;
private final String imageFileName;
private String downloadUrl = "";
public TokenInfo(TokenType tokenType, String name, String setCode, Integer imageNumber) {
this(tokenType, name, setCode, imageNumber, "", "");
this(tokenType, name, setCode, imageNumber, "");
}
public TokenInfo(TokenType tokenType, String name, String setCode, Integer imageNumber, String classFileName, String imageFileName) {
public TokenInfo(TokenType tokenType, String name, String setCode, Integer imageNumber, String classFileName) {
this.tokenType = tokenType;
this.name = name;
this.setCode = setCode;
this.imageNumber = imageNumber;
this.classFileName = classFileName;
this.imageFileName = imageFileName;
}
@Override
@ -44,10 +41,6 @@ public class TokenInfo {
return name;
}
public String getImageFileName() {
return imageFileName;
}
public String getSetCode() {
return setCode;
}

View file

@ -117,12 +117,6 @@ public enum TokenRepository {
imageNumber = Integer.parseInt(params.get(4));
}
// image file name
String imageFileName = "";
if (params.size() > 5 && !params.get(5).isEmpty()) {
imageFileName = params.get(5);
}
// token class name (uses for images search for render)
String tokenClassName = "";
if (params.size() > 7 && !params.get(6).isEmpty()) {
@ -190,7 +184,7 @@ public enum TokenRepository {
}
// OK
TokenInfo token = new TokenInfo(tokenType, tokenName, setCode, imageNumber, tokenClassName, imageFileName);
TokenInfo token = new TokenInfo(tokenType, tokenName, setCode, imageNumber, tokenClassName);
list.add(token);
} finally {
line = reader.readLine();

View file

@ -43,27 +43,29 @@ package mage.constants;
* @author LevelX2
*/
public enum MageObjectType {
ABILITY_STACK("Ability on the Stack", false, false),
CARD("Card", false, true),
COPY_CARD("Copy of a Card", false, true),
TOKEN("Token", true, true),
SPELL("Spell", false, true),
PERMANENT("Permanent", true, true),
DUNGEON("Dungeon", false, false),
EMBLEM("Emblem", false, false),
COMMANDER("Commander", false, false),
DESIGNATION("Designation", false, false),
PLANE("Plane", false, false),
NULL("NullObject", false, false);
ABILITY_STACK("Ability on the Stack", false, false, false),
CARD("Card", false, true, false),
COPY_CARD("Copy of a Card", false, true, false),
TOKEN("Token", true, true, true),
SPELL("Spell", false, true, false),
PERMANENT("Permanent", true, true, false),
DUNGEON("Dungeon", false, false, true),
EMBLEM("Emblem", false, false, true),
COMMANDER("Commander", false, false, true),
DESIGNATION("Designation", false, false, true),
PLANE("Plane", false, false, true),
NULL("NullObject", false, false, false);
private final String text;
private final boolean permanent;
private final boolean canHaveCounters;
private final boolean useTokensRepository; // card image from tokens or cards repository
MageObjectType(String text, boolean permanent, boolean canHaveCounters) {
MageObjectType(String text, boolean permanent, boolean canHaveCounters, boolean useTokensRepository) {
this.text = text;
this.permanent = permanent;
this.canHaveCounters = canHaveCounters;
this.useTokensRepository = useTokensRepository;
}
@Override
@ -79,4 +81,8 @@ public enum MageObjectType {
return canHaveCounters;
}
public boolean isUseTokensRepository() {
return useTokensRepository;
}
}