private void UpdateTimeline(object sender, PSOProgressEventArgs progress) { if (progress.ExecutionID != executionID) { combined = new IterationSnapshot[progress.OptionsPSO.iterCount]; executionID = progress.ExecutionID; lastProcessedIter = -1; } timeline = progress; executionID = progress.ExecutionID; var currIter = progress.CurrentIter; if (currIter > lastProcessedIter) { Combine(progress, currIter); } ; lastProcessedIter = currIter; isRunning = lastProcessedIter < progress.OptionsPSO.iterCount - 1; PSOTimelineChanged?.Invoke(this, isRunning); }
private void UpdateUCStatus(object sender, RunStatusEventArgs e) { isRunning = e.Status == RunStatus.Started; PSOTimelineChanged?.Invoke(this, isRunning); }