示例#1
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);
                }
            }
        }
        public WishOriginalDataViewModel(UserData userData)
        {
            WishTypeList = new List <string> {
                "---", "新手祈愿", "常驻祈愿", "角色活动祈愿", "武器活动祈愿"
            };
            ItemRankList = new List <string> {
                "-", "3", "4", "5"
            };
            var json      = File.ReadAllText("Resource\\List\\WishEventList.json");
            var eventlist = JsonSerializer.Deserialize <List <WishEvent> >(json, Const.JsonOptions);

            WishEventList     = eventlist.Prepend(Const.ZeroWishEvent).ToList();
            SelectedWishEvent = WishEventList[0];

            WishDataList = LocalWishLogLoader.Load(userData.WishLogFile);
            WishDataList.Reverse();
            FilteredWishData = WishDataList;
        }