@Override
	public boolean equals(Object obj)
	{
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (!(obj instanceof EngineSettings))
			return false;
		EngineSettings other = (EngineSettings) obj;
		if (backgroundColor == null)
		{
			if (other.backgroundColor != null)
				return false;
		}
		else if (!backgroundColor.equals(other.backgroundColor))
			return false;
		if (ballCount != other.ballCount)
			return false;
		if (ballSize != other.ballSize)
			return false;
		if (height != other.height)
			return false;
		if (Double.doubleToLongBits(momentum) != Double
				.doubleToLongBits(other.momentum))
			return false;
		if (speed != other.speed)
			return false;
		if (width != other.width)
			return false;
		return true;
	}