Fix crashes with random events

This commit is contained in:
drdev
2016-03-18 02:31:08 +00:00
parent 2ed7d9f9ea
commit 68bf0e3298
2 changed files with 12 additions and 6 deletions

View File

@@ -714,16 +714,17 @@ public class ConquestMultiverseScreen extends FScreen {
private class AvatarDisplay extends FDisplayObject { private class AvatarDisplay extends FDisplayObject {
private final boolean forOpponent; private final boolean forOpponent;
private PaperCard card; private PaperCard card;
private CardAvatarImage image; private FImage image;
private AvatarDisplay(boolean forOpponent0) { private AvatarDisplay(boolean forOpponent0) {
forOpponent = forOpponent0; forOpponent = forOpponent0;
image = FSkinImage.UNKNOWN;
} }
public void setCard(PaperCard card0) { public void setCard(PaperCard card0) {
if (card == card0) { return; } if (card == card0) { return; }
card = card0; card = card0;
image = card != null ? new CardAvatarImage(card) : null; image = card != null ? new CardAvatarImage(card) : FSkinImage.UNKNOWN;
} }
@Override @Override

View File

@@ -47,10 +47,12 @@ public class ConquestEvent {
public Deck getDeck() { public Deck getDeck() {
if (deck == null) { if (deck == null) {
if (deckPath != null) {
File deckFile = new File(deckPath); File deckFile = new File(deckPath);
if (deckFile.exists()) { if (deckFile.exists()) {
deck = DeckSerializer.fromFile(deckFile); deck = DeckSerializer.fromFile(deckFile);
} }
}
if (deck == null || deck.isEmpty()) { if (deck == null || deck.isEmpty()) {
//if deck can't be loaded, generate it randomly //if deck can't be loaded, generate it randomly
PaperCard commander = getAvatarCard(); PaperCard commander = getAvatarCard();
@@ -72,7 +74,7 @@ public class ConquestEvent {
} }
public PaperCard getAvatarCard() { public PaperCard getAvatarCard() {
if (avatarCard == null) { if (avatarCard == null && avatar != null) {
//attempt to load card from plane's card pool //attempt to load card from plane's card pool
avatarCard = region.getPlane().getCardPool().getCard(avatar); avatarCard = region.getPlane().getCardPool().getCard(avatar);
if (avatarCard == null) { if (avatarCard == null) {
@@ -84,6 +86,9 @@ public class ConquestEvent {
} }
public String getOpponentName() { public String getOpponentName() {
if (avatar == null) {
return name;
}
String name = avatar; String name = avatar;
int idx = name.indexOf(','); int idx = name.indexOf(',');
if (idx != -1) { //trim everything after the comma if (idx != -1) { //trim everything after the comma