public static float GetDataTagValue(OverlayStatusUpdate info, YurDataValues tag, out float?floorValue, out float?ceilingValue) { float value = 0.0f; floorValue = null; ceilingValue = null; switch (tag) { case YurDataValues.TodaySquatCount: value = info.TodaySquatCount; break; case YurDataValues.SquatCount: value = info.SquatCount; break; case YurDataValues.EstOrHeartRate: value = ((info.HeartRate ?? 0) > 0 ? info.HeartRate.Value : info.CalculationMetrics.EstHeartRate); break; case YurDataValues.HeartRate: value = (info.HeartRate ?? 0); break; case YurDataValues.TotalXP: value = info.TotalXP; break; case YurDataValues.XPCompletionPercentage: float nrankDiff = info.RankNextRequiredXP - info.RankCurrentRequiredXP; float caltonrank = info.RankNextRequiredXP - info.TotalXP; value = 1 - (caltonrank / nrankDiff); break; case YurDataValues.NextLevelXP: value = (info.RankNextRequiredXP <= info.RankCurrentRequiredXP) ? info.RankCurrentRequiredXP : info.RankNextRequiredXP; break; case YurDataValues.CurrentLevelXP: value = info.RankCurrentRequiredXP; break; case YurDataValues.EstRate: value = info.CalculationMetrics.EstHeartRate; break; case YurDataValues.BurnRate: value = info.CalculationMetrics.BurnRate; break; case YurDataValues.TodayCalories: value = info.TodayCalories; break; case YurDataValues.TodayTime: value = info.SecondsToday; break; case YurDataValues.TodayTimeNoSeconds: value = info.SecondsToday; break; case YurDataValues.WorkoutTime: value = info.SecondsInWorkout; break; case YurDataValues.WorkoutTimeNoSeconds: value = info.SecondsInWorkout; break; case YurDataValues.WorkoutCalories: value = info.CurrentCalories; break; case YurDataValues.UserRank: value = info.Rank; break; case YurDataValues.NotificationHeader: value = 0.0f; break; case YurDataValues.NotificationBody: value = 0.0f; break; case YurDataValues.NotificationFooter: value = 0.0f; break; case YurDataValues.ClockTime: value = 0.0f; break; case YurDataValues.ClockTimeSuffix: value = 0.0f; break; default: //unknown value = 0.0f; break; } return(value); }
public static string GetTextTagValue(OverlayStatusUpdate info, YurDataValues tag) { string value = null; switch (tag) { case YurDataValues.TodaySquatCount: value = YUR_Formatter.ConvertAs(info.TodaySquatCount, YurFormat.NoSigValues); break; case YurDataValues.SquatCount: value = YUR_Formatter.ConvertAs(info.SquatCount, YurFormat.NoSigValues); break; case YurDataValues.EstOrHeartRate: value = YUR_Formatter.ConvertAs((info.HeartRate ?? 0) > 0? info.HeartRate.Value : info.CalculationMetrics.EstHeartRate, YurFormat.NoSigValues); break; case YurDataValues.HeartRate: value = YUR_Formatter.ConvertAs((info.HeartRate ?? 0), YurFormat.NoSigValues); break; case YurDataValues.TotalXP: value = YUR_Formatter.ConvertAs(info.TotalXP, YurFormat.NoSigValues); break; case YurDataValues.NextLevelXP: value = YUR_Formatter.ConvertAs((info.RankNextRequiredXP <= info.RankCurrentRequiredXP)? info.RankCurrentRequiredXP : info.RankNextRequiredXP, YurFormat.ShortK); break; case YurDataValues.CurrentLevelXP: value = YUR_Formatter.ConvertAs(info.RankCurrentRequiredXP, YurFormat.ShortK); break; case YurDataValues.EstRate: value = YUR_Formatter.ConvertAs(info.CalculationMetrics.EstHeartRate, YurFormat.NoSigValues); break; case YurDataValues.BurnRate: value = YUR_Formatter.ConvertAs(info.CalculationMetrics.BurnRate, YurFormat.OneSigValue); break; case YurDataValues.TodayCalories: value = YUR_Formatter.ConvertAs(info.TodayCalories, YurFormat.NoSigValues); break; case YurDataValues.TodayTime: value = YUR_Formatter.ConvertAs(info.SecondsToday, YurFormat.Time); break; case YurDataValues.TodayTimeNoSeconds: value = YUR_Formatter.ConvertAs(info.SecondsToday, YurFormat.TimeNoSeconds); break; case YurDataValues.WorkoutTime: value = YUR_Formatter.ConvertAs(info.SecondsInWorkout, YurFormat.Time); break; case YurDataValues.WorkoutTimeNoSeconds: value = YUR_Formatter.ConvertAs(info.SecondsInWorkout, YurFormat.TimeNoSeconds); break; case YurDataValues.WorkoutCalories: value = YUR_Formatter.ConvertAs(info.CurrentCalories, YurFormat.NoSigValues); break; case YurDataValues.UserRank: value = YUR_Formatter.ConvertAs(info.Rank, YurFormat.NoSigValues); break; case YurDataValues.ClockTime: value = YUR_Formatter.ConvertAs(DateTime.Now.ToString(), YurFormat.FormattedTime); break; case YurDataValues.ClockTimeSuffix: value = YUR_Formatter.ConvertAs(DateTime.Now.ToString(), YurFormat.TimeOfDaySignifier); break; case YurDataValues.XPCompletionPercentage: float nrankDiff = info.RankNextRequiredXP - info.RankCurrentRequiredXP; float caltonrank = info.RankNextRequiredXP - info.TotalXP; value = YUR_Formatter.ConvertAs((1 - (caltonrank / nrankDiff)), YurFormat.TwoSigValues); break; default: //unknown value = null; break; } return(value); }