@Override
	public String toString(){
		float r, g, b, a;
		String type = "-";
		
		if(this.r == -1 || this.g == -1 || this.b == -1 || this.a == -1){
			r = this.getRed();
			g = this.getBlue();
			b = this.getGreen();
			a = this.getAlpha();
			type = "Color";
		}else{
			r = this.r * 255;
			g = this.g * 255;
			b = this.b * 255;
			a = this.a * 255;
			type = "Colour";
		}
		
		return String.format("Name=%s        {Hex=%s RGBA=[%s, %s, %s, %s] Type=%s}",name == null ? "-" : Utility.toDisplayName(name), "#"+getAsHexString().toUpperCase(), r, g, b, a, type); 
	}