Prevent card back being shown when zooming outside match

This commit is contained in:
drdev
2015-04-10 20:15:12 +00:00
parent b6932249a8
commit a2879c55b2

View File

@@ -61,11 +61,11 @@ public class CardView extends GameEntityView {
return collection; return collection;
} }
public static boolean mayViewAny(Iterable<CardView> cards, Iterable<PlayerView> viewer) { public static boolean mayViewAny(Iterable<CardView> cards, Iterable<PlayerView> viewers) {
if (cards == null) { return false; } if (cards == null) { return false; }
for (CardView cv : cards) { for (CardView cv : cards) {
if (cv.canBeShownToAny(viewer)) { if (cv.canBeShownToAny(viewers)) {
return true; return true;
} }
} }
@@ -340,6 +340,8 @@ public class CardView extends GameEntityView {
} }
public boolean canBeShownToAny(final Iterable<PlayerView> viewers) { public boolean canBeShownToAny(final Iterable<PlayerView> viewers) {
if (viewers == null || Iterables.isEmpty(viewers)) { return true; }
return Iterables.any(viewers, new Predicate<PlayerView>() { return Iterables.any(viewers, new Predicate<PlayerView>() {
public final boolean apply(final PlayerView input) { public final boolean apply(final PlayerView input) {
return canBeShownTo(input); return canBeShownTo(input);
@@ -798,7 +800,7 @@ public class CardView extends GameEntityView {
return getImageKey(null); return getImageKey(null);
} }
public String getImageKey(Iterable<PlayerView> viewers) { public String getImageKey(Iterable<PlayerView> viewers) {
if (viewers == null || canBeShownToAny(viewers)) { if (canBeShownToAny(viewers)) {
return get(TrackableProperty.ImageKey); return get(TrackableProperty.ImageKey);
} }
return ImageKeys.HIDDEN_CARD; return ImageKeys.HIDDEN_CARD;