Пример #1
0
        private void UserControl_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (!(DataContext is UserData userData))
            {
                return;
            }
            var gachaList = JsonSerializer.Deserialize <List <WishData> >(File.ReadAllText(userData.WishLogFile), JsonOptions);
            var analyzer  = new PieChartAnalyzer(gachaList);

            PieChartViewModels.Clear();
            if (analyzer.CharacterEventStatistics.Count > 0)
            {
                PieChartViewModels.Add(new PieChartViewModel(analyzer.CharacterEventStatistics));
            }
            if (analyzer.WeaponEventStatistics.Count > 0)
            {
                PieChartViewModels.Add(new PieChartViewModel(analyzer.WeaponEventStatistics));
            }
            if (analyzer.PermanentStatistics.Count > 0)
            {
                PieChartViewModels.Add(new PieChartViewModel(analyzer.PermanentStatistics));
            }
            if (analyzer.NoviceStatistics.Count > 0)
            {
                PieChartViewModels.Add(new PieChartViewModel(analyzer.NoviceStatistics));
            }
        }
Пример #2
0
        public GachaAnalysisView(UserData userData)
        {
            InitializeComponent();
            _UserData = userData;
            ToggleButton_HiddenNoviceWish.IsChecked = userData.HiddenNoviceWish;
            _PieChartViewModels = new ObservableCollection <PieChartViewModel>();
            ItemsControl_PieChartView.DataContext = this;
            var wishList = LocalWishLogLoader.Load(userData.WishLogFile);
            var analyzer = new PieChartAnalyzer(wishList);

            PieChartViewModels.Clear();

            if (analyzer.CharacterEventStatistics.Count > 0)
            {
                PieChartViewModels.Add(new PieChartViewModel(analyzer.CharacterEventStatistics));
            }
            if (analyzer.WeaponEventStatistics.Count > 0)
            {
                PieChartViewModels.Add(new PieChartViewModel(analyzer.WeaponEventStatistics));
            }
            if (analyzer.PermanentStatistics.Count > 0)
            {
                PieChartViewModels.Add(new PieChartViewModel(analyzer.PermanentStatistics));
            }
            if (analyzer.NoviceStatistics.Count > 0)
            {
                _NovicePieChart = new PieChartViewModel(analyzer.NoviceStatistics);
                if (!_UserData.HiddenNoviceWish)
                {
                    PieChartViewModels.Add(_NovicePieChart);
                }
            }
        }
Пример #3
0
        public WishSummaryViewModel(UserData userData)
        {
            var json     = File.ReadAllText(userData.WishLogFile);
            var list     = JsonSerializer.Deserialize <List <WishData> >(json, JsonOptions);
            var analyzer = new PieChartAnalyzer(list);

            NoviceStatistics         = analyzer.NoviceStatistics;
            PermanentStatistics      = analyzer.PermanentStatistics;
            CharacterEventStatistics = analyzer.CharacterEventStatistics;
            WeaponEventStatistics    = analyzer.WeaponEventStatistics;
            InitPieChart();
        }