package games.strategy.triplea.util;
import games.strategy.engine.data.PlayerID;
import games.strategy.engine.data.Unit;
import games.strategy.engine.data.UnitType;
public class UnitOwner {
private final UnitType m_type;
private final PlayerID m_owner;
public UnitOwner(final Unit unit) {
m_type = unit.getType();
m_owner = unit.getOwner();
}
public UnitOwner(final UnitType type, final PlayerID owner) {
m_type = type;
m_owner = owner;
}
@Override
public boolean equals(final Object o) {
if (o == null) {
return false;
}
if (!(o instanceof UnitOwner)) {
return false;
}
final UnitOwner other = (UnitOwner) o;
return other.m_type.equals(this.m_type) && other.m_owner.equals(this.m_owner);
}
@Override
public int hashCode() {
return m_type.hashCode() ^ m_owner.hashCode();
}
@Override
public String toString() {
return "Unit owner:" + m_owner.getName() + " type:" + m_type.getName();
}
public UnitType getType() {
return m_type;
}
public PlayerID getOwner() {
return m_owner;
}
}