Ejemplo n.º 1
0
        public void RemoveAllComparisonItems(bool manageVisibility = true, bool resetSortMode = false)
        {
            if (resetSortMode)
            {
                _comparisonColorManager.FreeAllColors();
            }

            ComparisonRecords.Clear();
            UpdateCharts();

            if (resetSortMode)
            {
                IsSortModeAscending = false;
            }

            if (manageVisibility)
            {
                HasComparisonItems = false;
            }

            // Manage game name header
            HasUniqueGameNames = false;
            CurrentGameName    = string.Empty;

            RemainingRecordingTime = "0.0 s";
            UpdateRangeSliderParameter();
            ComparisonFrametimesModel.InvalidatePlot(true);
        }
        public void SortComparisonItems()
        {
            if (!ComparisonRecords.Any())
            {
                return;
            }

            IEnumerable <ComparisonRecordInfoWrapper> comparisonRecordList = null;

            if (UseComparisonGrouping)
            {
                comparisonRecordList = IsSortModeAscending ? ComparisonRecords.ToList()
                                       .Select(info => info.Clone()).OrderBy(x => x.WrappedRecordInfo.Game).ThenBy(x => x.WrappedRecordInfo.FirstMetric) :
                                       ComparisonRecords.ToList().Select(info => info.Clone()).OrderBy(x => x.WrappedRecordInfo.Game).ThenByDescending(x => x.WrappedRecordInfo.FirstMetric);
            }
            else
            {
                comparisonRecordList = IsSortModeAscending ? ComparisonRecords.ToList()
                                       .Select(info => info.Clone()).OrderBy(x => x.WrappedRecordInfo.FirstMetric) :
                                       ComparisonRecords.ToList().Select(info => info.Clone()).OrderByDescending(x => x.WrappedRecordInfo.FirstMetric);
            }

            if (comparisonRecordList != null)
            {
                ComparisonRecords.Clear();

                foreach (var item in comparisonRecordList)
                {
                    ComparisonRecords.Add(item);
                }

                //Draw charts and performance parameter
                UpdateCharts();
            }
        }