mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Fix so each players opponents are cached in view
This commit is contained in:
@@ -274,6 +274,10 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
return result;
|
||||
}
|
||||
|
||||
public void updateOpponentsForView() {
|
||||
view.updateOpponents(this);
|
||||
}
|
||||
|
||||
//get single opponent for player if only one, otherwise returns null
|
||||
//meant to be used after game ends for the sake of achievements
|
||||
public Player getSingleOpponent() {
|
||||
|
||||
@@ -18,6 +18,7 @@ import forge.game.zone.PlayerZone;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.trackable.TrackableCollection;
|
||||
import forge.trackable.TrackableProperty;
|
||||
import forge.util.FCollectionView;
|
||||
|
||||
|
||||
public class PlayerView extends GameEntityView {
|
||||
@@ -49,15 +50,15 @@ public class PlayerView extends GameEntityView {
|
||||
set(TrackableProperty.AvatarIndex, p.getLobbyPlayer().getAvatarIndex());
|
||||
}
|
||||
|
||||
public Iterable<PlayerView> getOpponents() {
|
||||
public FCollectionView<PlayerView> getOpponents() {
|
||||
return get(TrackableProperty.Opponents);
|
||||
}
|
||||
private TrackableCollection<PlayerView> getOpponentCollection() {
|
||||
return get(TrackableProperty.Opponents);
|
||||
void updateOpponents(Player p) {
|
||||
set(TrackableProperty.Opponents, PlayerView.getCollection(p.getOpponents()));
|
||||
}
|
||||
|
||||
public boolean isOpponentOf(final PlayerView other) {
|
||||
return getOpponentCollection().contains(other);
|
||||
return getOpponents().contains(other);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user