package com.lyndir.omicron.api.view; import com.lyndir.omicron.api.IPlayer; import java.util.Objects; /** * <i>10 16, 2012</i> * * @author lhunath */ public class PlayerGameInfo { private final IPlayer player; private final boolean discovered; private final int score; public PlayerGameInfo(final IPlayer player, final boolean discovered, final int score) { this.player = player; this.discovered = discovered; this.score = score; } @Override public int hashCode() { return Objects.hash(player, discovered, score); } @Override public boolean equals(final Object obj) { if (this == obj) return true; if (!(obj instanceof PlayerGameInfo)) return false; PlayerGameInfo o = (PlayerGameInfo) obj; return discovered == o.discovered && score == o.score && Objects.equals( player, o.player ); } public IPlayer getPlayer() { return player; } public boolean isDiscovered() { return discovered; } public int getScore() { return score; } public static PlayerGameInfo discovered(final IPlayer player, final Integer score) { return new PlayerGameInfo( player, true, score ); } public static PlayerGameInfo undiscovered(final IPlayer player) { return new PlayerGameInfo( player, false, 0 ); } }