/// <summary>
 /// Draws a progress bar for a ulong property.
 /// </summary>
 protected override ulong DrawProgressBar(Rect rect, GUIContent label, double min, double max, ProgressBarConfig config, string valueLabel)
 {
     if (this.Attribute.Segmented)
     {
         return((ulong)SirenixEditorFields.SegmentedProgressBarField(rect, label, (long)this.ValueEntry.SmartValue, (long)min, (long)max, config, valueLabel));
     }
     else
     {
         return((ulong)SirenixEditorFields.ProgressBarField(rect, label, (double)this.ValueEntry.SmartValue, min, max, config, valueLabel));
     }
 }
 /// <summary>
 /// Generic implementation of progress bar field drawing.
 /// </summary>
 protected abstract T DrawProgressBar(Rect rect, GUIContent label, double min, double max, ProgressBarConfig config, string valueLabel);