update Specialize ImageKey

- fix image not updating when specialized..
This commit is contained in:
Anthony Calosa
2023-05-12 12:17:27 +08:00
parent c921928012
commit 5c41be49bd

View File

@@ -5879,6 +5879,29 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
public final void setImageKey(final String iFN) {
getCardForUi().currentState.setImageKey(iFN);
}
public final void setImageKey(final IPaperCard ipc, final CardStateName stateName) {
if (ipc == null)
return;
switch (stateName) {
case SpecializeB:
setImageKey(ipc.getCardBSpecImageKey());
break;
case SpecializeR:
setImageKey(ipc.getCardRSpecImageKey());
break;
case SpecializeG:
setImageKey(ipc.getCardGSpecImageKey());
break;
case SpecializeU:
setImageKey(ipc.getCardUSpecImageKey());
break;
case SpecializeW:
setImageKey(ipc.getCardWSpecImageKey());
break;
default:
break;
}
}
public String getImageKey(CardStateName state) {
CardState c = getCardForUi().states.get(state);
@@ -6003,6 +6026,7 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
}
public final void setSpecialized(final boolean bool) {
specialized = bool;
setImageKey(getPaperCard(), getCurrentStateName());
}
public final boolean canSpecialize() {
return getRules() != null && getRules().getSplitType() == CardSplitType.Specialize;