private static void UpdateTrackerDirectCore(TrackerData data, IProgressTracker tracker)
{
if (data.Title != null)
{
tracker.SetTitle(data.Title);
}
if (data.Summary != null)
{
tracker.SetSummary(data.Summary);
}
if (data.IsCancelAllowed != null)
{
tracker.IsCancelable = data.IsCancelAllowed.Value;
}
if (data.StepTotal != null && data.StepIncrement != null)
{
tracker.SetStepInformation(data.StepIncrement.Value, data.StepTotal.Value);
}
if (data.CurrentStep != null)
{
tracker.SetCurrentStep(data.CurrentStep.Value);
}
if (data.PerformStepCount != null)
{
for (int i = 0; i < data.PerformStepCount.Value; ++i)
{
tracker.PerformStep();
}
}
}