Tokens and command objects reworked (part 1 of 2):

- fixed that copy effect doesn't restore original image after effect's end;
 - removed outdated availableImageSetCodes (all images auto-selected from tokens database now, related to #10139);
 - refactor command objects to use CommandObjectImpl;
 - refactor planes/emblems/etc objects to use MageObjectImpl, added copyable support;
 - refactor another game objects to remove some duplicated fields;
This commit is contained in:
Oleg Agafonov 2023-05-08 02:15:07 +04:00
parent 46f6593da8
commit 5f55c7c667
45 changed files with 517 additions and 477 deletions

View file

@ -131,7 +131,7 @@ public class CardPanelRenderModeMTGO extends CardPanel {
sb.append(this.view.getLoyalty());
sb.append(this.view.getDefense());
sb.append(this.view.getColor().toString());
sb.append(this.view.getType());
sb.append(this.view.getImageNumber());
sb.append(this.view.getExpansionSetCode());
for (CardType type : this.view.getCardTypes()) {
sb.append((char) type.ordinal());

View file

@ -369,7 +369,7 @@ public class ModernCardRenderer extends CardRenderer {
}
private float getTypeLineYFrac() {
if (cardView.isToken() && cardView.getCardNumber() == null) {
if (cardView.isToken() && cardView.getCardNumber().isEmpty()) {
return TYPE_LINE_Y_FRAC_TOKEN;
} else if (cardView.getFrameStyle().isFullArt()) {
return TYPE_LINE_Y_FRAC_FULL_ART;

View file

@ -344,7 +344,7 @@ public final class ImageCache {
private static String getKey(CardView card, String cardName, int imageSize) {
return (card.isToken() ? cardName.replace(" Token", "") : cardName)
+ '#' + card.getExpansionSetCode()
+ '#' + card.getType()
+ '#' + card.getImageNumber()
+ '#' + card.getCardNumber()
+ '#' + imageSize
+ (card.getUsesVariousArt() ? "#usesVariousArt" : "");