first stab

This commit is contained in:
Northmoc
2022-08-26 15:52:24 -04:00
parent 0aaac12b78
commit 60b2ea2546
9 changed files with 265 additions and 8 deletions

View File

@@ -172,12 +172,48 @@ public class ImageCache {
IPaperCard ipc = null;
boolean altState = imageKey.endsWith(ImageKeys.BACKFACE_POSTFIX);
String specColor = "";
if (imageKey.endsWith(ImageKeys.SPECFACE_W)) {
specColor = "white";
} else if (imageKey.endsWith(ImageKeys.SPECFACE_U)) {
specColor = "blue";
} else if (imageKey.endsWith(ImageKeys.SPECFACE_B)) {
specColor = "black";
} else if (imageKey.endsWith(ImageKeys.SPECFACE_R)) {
specColor = "red";
} else if (imageKey.endsWith(ImageKeys.SPECFACE_G)) {
specColor = "green";
}
if (altState)
imageKey = imageKey.substring(0, imageKey.length() - ImageKeys.BACKFACE_POSTFIX.length());
if (!specColor.equals(""))
imageKey = imageKey.substring(0, imageKey.length() - ImageKeys.SPECFACE_W.length());
if (imageKey.startsWith(ImageKeys.CARD_PREFIX)) {
ipc = ImageUtil.getPaperCardFromImageKey(imageKey);
if (ipc != null) {
imageKey = altState ? ipc.getCardAltImageKey() : ipc.getCardImageKey();
if (altState) {
imageKey = ipc.getCardAltImageKey();
} else if (!specColor.equals("")) {
switch (specColor) {
case "white":
imageKey = ipc.getCardWSpecImageKey();
break;
case "blue":
imageKey = ipc.getCardUSpecImageKey();
break;
case "black":
imageKey = ipc.getCardBSpecImageKey();
break;
case "red":
imageKey = ipc.getCardRSpecImageKey();
break;
case "green":
imageKey = ipc.getCardGSpecImageKey();
break;
}
} else {
imageKey = ipc.getCardImageKey();
}
if (StringUtils.isBlank(imageKey))
return Pair.of(_defaultImage, true);
}

View File

@@ -77,15 +77,51 @@ public final class FImageUtil {
}
boolean altState = key.endsWith(ImageKeys.BACKFACE_POSTFIX);
String specColor = "";
if (key.endsWith(ImageKeys.SPECFACE_W)) {
specColor = "white";
} else if (key.endsWith(ImageKeys.SPECFACE_U)) {
specColor = "blue";
} else if (key.endsWith(ImageKeys.SPECFACE_B)) {
specColor = "black";
} else if (key.endsWith(ImageKeys.SPECFACE_R)) {
specColor = "red";
} else if (key.endsWith(ImageKeys.SPECFACE_G)) {
specColor = "green";
}
String imageKey = key;
if (prefix.equals(ImageKeys.CARD_PREFIX)) {
PaperCard card = ImageUtil.getPaperCardFromImageKey(key);
if (card != null)
imageKey = altState ? card.getCardAltImageKey() : card.getCardImageKey();
if (altState) {
imageKey = card.getCardAltImageKey();
} else if (!specColor.equals("")) {
switch (specColor) {
case "white":
imageKey = card.getCardWSpecImageKey();
break;
case "blue":
imageKey = card.getCardUSpecImageKey();
break;
case "black":
imageKey = card.getCardBSpecImageKey();
break;
case "red":
imageKey = card.getCardRSpecImageKey();
break;
case "green":
imageKey = card.getCardGSpecImageKey();
break;
}
} else {
imageKey = card.getCardImageKey();
}
}
if(altState) {
imageKey = imageKey.substring(0, imageKey.length() - ImageKeys.BACKFACE_POSTFIX.length());
imageKey += "full.jpg";
} else if (!specColor.equals("")) {
imageKey = imageKey.substring(0, imageKey.length() - ImageKeys.SPECFACE_W.length());
imageKey += "full.jpg";
}
File file = ImageKeys.getImageFile(imageKey);