mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 20:41:58 -08:00
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:
parent
46f6593da8
commit
5f55c7c667
45 changed files with 517 additions and 477 deletions
|
|
@ -241,9 +241,8 @@ public class MageBook extends JComponent {
|
|||
Constructor<?> cons = c.getConstructor();
|
||||
Object newToken = cons.newInstance();
|
||||
if (newToken instanceof Token) {
|
||||
((Token) newToken).setOriginalExpansionSetCode(currentSet);
|
||||
((Token) newToken).setExpansionSetCodeForImage(currentSet);
|
||||
((Token) newToken).setTokenType(token.getImageNumber()); // must be called after set code, so it keep the type
|
||||
((Token) newToken).setExpansionSetCode(currentSet);
|
||||
((Token) newToken).setImageNumber(token.getImageNumber());
|
||||
res.add(newToken);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
|
@ -262,7 +261,7 @@ public class MageBook extends JComponent {
|
|||
Constructor<?> cons = c.getConstructor();
|
||||
Object newEmblem = cons.newInstance();
|
||||
if (newEmblem instanceof Emblem) {
|
||||
((Emblem) newEmblem).setExpansionSetCodeForImage(currentSet);
|
||||
((Emblem) newEmblem).setExpansionSetCode(currentSet);
|
||||
res.add(newEmblem);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
|
@ -281,7 +280,7 @@ public class MageBook extends JComponent {
|
|||
Constructor<?> cons = c.getConstructor();
|
||||
Object newPlane = cons.newInstance();
|
||||
if (newPlane instanceof Plane) {
|
||||
((Plane) newPlane).setExpansionSetCodeForImage(currentSet);
|
||||
((Plane) newPlane).setExpansionSetCode(currentSet);
|
||||
res.add(newPlane);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
|
@ -300,7 +299,7 @@ public class MageBook extends JComponent {
|
|||
Constructor<?> cons = c.getConstructor();
|
||||
Object newDungeon = cons.newInstance();
|
||||
if (newDungeon instanceof Dungeon) {
|
||||
((Dungeon) newDungeon).setExpansionSetCodeForImage(currentSet);
|
||||
((Dungeon) newDungeon).setExpansionSetCode(currentSet);
|
||||
res.add(newDungeon);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
|
|
|||
|
|
@ -213,8 +213,7 @@ public class TestCardRenderDialog extends MageDialog {
|
|||
|
||||
private CardView createToken(Game game, UUID controllerId, Token token, String code, int damage, boolean tapped, boolean transformed) {
|
||||
Token sourceToken = token.copy();
|
||||
sourceToken.setExpansionSetCodeForImage(code);
|
||||
sourceToken.setOriginalExpansionSetCode(code);
|
||||
sourceToken.setExpansionSetCode(code);
|
||||
|
||||
PermanentToken perm = new PermanentToken(sourceToken, controllerId, game);
|
||||
Set<Card> cardsList = new HashSet<>();
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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" : "");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue