// Token: 0x06000E45 RID: 3653 RVA: 0x00036CDC File Offset: 0x00034EDC
    private static double Round(double total, global::TimeStringFormatter.Rounding rounding, int decimalPlaces, double fancyUnits)
    {
        if (total <= 0.0)
        {
            return(0.0);
        }
        switch (rounding)
        {
        case global::TimeStringFormatter.Rounding.Floor:
            return(Math.Floor(total));

        case global::TimeStringFormatter.Rounding.Ceiling:
            return(Math.Ceiling(total));

        case global::TimeStringFormatter.Rounding.Round:
            return(Math.Round(total));

        case global::TimeStringFormatter.Rounding.Decimal:
            fancyUnits    = 1.0;
            decimalPlaces = 0;
            break;

        case global::TimeStringFormatter.Rounding.RoundedDecimal:
            fancyUnits = 1.0;
            break;

        case global::TimeStringFormatter.Rounding.FancyDecimal:
            decimalPlaces = 0;
            break;
        }
        if (decimalPlaces == 0)
        {
            return(total);
        }
        double num = Math.Floor(total);

        return(num + Math.Floor((total - num) * fancyUnits * ((double)decimalPlaces * 10.0)) / (10.0 * (double)decimalPlaces));
    }
    // Token: 0x06000E47 RID: 3655 RVA: 0x00036DB4 File Offset: 0x00034FB4
    public string GetFormattingString(TimeSpan timePassed, global::TimeStringFormatter.Rounding rounding)
    {
        int    num2;
        double num = global::TimeStringFormatter.Round(timePassed.TotalSeconds, rounding, num2 = 2, 1.0);
        string format;

        if (num <= 0.0)
        {
            format = this.lessThanASecond;
        }
        else if (num == 1.0)
        {
            format = this.aSecond;
        }
        else if (num < 60.0)
        {
            format = this.seconds;
        }
        else if ((num = global::TimeStringFormatter.Round(timePassed.TotalMinutes, rounding, num2 = 2, 0.6)) == 1.0)
        {
            format = this.aMinute;
        }
        else if (num < 60.0)
        {
            format = this.minutes;
        }
        else if ((num = global::TimeStringFormatter.Round(timePassed.TotalHours, rounding, num2 = 2, 1.0)) == 1.0)
        {
            format = this.aHour;
        }
        else if (num < 24.0)
        {
            format = this.hours;
        }
        else if ((num = global::TimeStringFormatter.Round(timePassed.TotalDays, rounding, num2 = 2, 0.24)) == 1.0)
        {
            format = this.aDay;
        }
        else
        {
            format = this.days;
        }
        object arg;

        if (rounding == global::TimeStringFormatter.Rounding.RoundedDecimal || rounding == global::TimeStringFormatter.Rounding.FancyDecimal || rounding == global::TimeStringFormatter.Rounding.RoundedFancyDecimal)
        {
            string text;
            if (rounding == global::TimeStringFormatter.Rounding.RoundedDecimal || rounding == global::TimeStringFormatter.Rounding.RoundedFancyDecimal)
            {
                if (num2 != 2)
                {
                    throw new NotSupportedException("We gotta add support for that");
                }
                text = num.ToString("0.00");
            }
            else
            {
                text = num.ToString();
            }
            if (rounding == global::TimeStringFormatter.Rounding.FancyDecimal || rounding == global::TimeStringFormatter.Rounding.RoundedFancyDecimal)
            {
                arg = text.Replace('.', ':');
            }
            else
            {
                arg = text;
            }
        }
        else if (rounding != global::TimeStringFormatter.Rounding.Decimal && !double.IsNaN(num) && !double.IsInfinity(num))
        {
            arg = (int)num;
        }
        else
        {
            arg = num;
        }
        return(string.Format(format, arg));
    }