display locked room, fix nonrotated card panels

This commit is contained in:
Anthony Calosa
2024-10-22 21:38:23 +08:00
parent c5a01eb5d1
commit 1b3e3f7f7c
5 changed files with 43 additions and 9 deletions

View File

@@ -48,6 +48,7 @@ import javax.swing.SwingUtilities;
import forge.CachedCardImage;
import forge.StaticData;
import forge.card.CardEdition;
import forge.card.CardStateName;
import forge.card.mana.ManaCost;
import forge.game.card.Card;
import forge.game.card.CardView;
@@ -62,9 +63,11 @@ import forge.item.PaperCard;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgeConstants.CounterDisplayType;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.localinstance.skin.FSkinProp;
import forge.model.FModel;
import forge.screens.match.CMatchUI;
import forge.toolbox.CardFaceSymbols;
import forge.toolbox.FSkin;
import forge.toolbox.FSkin.SkinnedPanel;
import forge.toolbox.IDisposable;
import forge.util.CardTranslation;
@@ -365,6 +368,17 @@ public class CardPanel extends SkinnedPanel implements CardContainer, IDisposabl
}
final boolean canShow = matchUI.mayView(card);
if (canShow && ZoneType.Battlefield.equals(card.getZone())) {
CardStateView cardStateView = card.getCurrentState();
if (card.isSplitCard() && card.hasAlternateState() && !card.isFaceDown() && !CardStateName.Original.equals(cardStateView.getState())) {
if (CardStateName.RightSplit.equals(cardStateView.getState())) {
FSkin.drawImage(g, FSkin.getIcon(FSkinProp.ICO_RIGHTLOCK), cardXOffset, cardYOffset, cardWidth, cardHeight);
} else if (CardStateName.LeftSplit.equals(cardStateView.getState())) {
FSkin.drawImage(g, FSkin.getIcon(FSkinProp.ICO_LEFTLOCK), cardXOffset, cardYOffset, cardWidth, cardHeight);
}
}
}
displayIconOverlay(g, canShow);
if (canShow) {
drawFoilEffect(g, card, cardXOffset, cardYOffset,