public static async Task <IndependentResultStatsViewModel> CreateAsync( ObservableCalculator observableCalculator, CalculationNodeViewModelFactory nodeFactory) { var vm = new IndependentResultStatsViewModel(nodeFactory); await vm.InitializeAsync(new ExplicitlyRegisteredStatsObserver(observableCalculator)); return(vm); }
private async Task InitializeAsync( SkillDefinitions skillDefinitions, IBuilderFactories f, ObservableSet <IReadOnlyList <Skill> > skills) { MainSkillSelection = MainSkillSelectionViewModel.Create(skillDefinitions, f, _nodeFactory, skills); InitializeOffensiveStats(f); InitializeDefensiveStats(f); ConfigurationStats = await ConfigurationStatsViewModel.CreateAsync(_observableCalculator, _nodeFactory); AddConfigurationStat(f.StatBuilders.Level, Entity.Enemy); GainOnActionStats = await GainOnActionStatsViewModel.CreateAsync(_observableCalculator, _nodeFactory); SharedConfiguration = SharedConfigurationViewModel.Create(_nodeFactory, f); IndependentResultStats = await IndependentResultStatsViewModel.CreateAsync(_observableCalculator, _nodeFactory); }
private async Task InitializeAsync( GameData gameData, IBuilderFactories f, ObservableSet <IReadOnlyList <Skill> > skills) { MainSkillSelection = MainSkillSelectionViewModel.Create(await gameData.Skills, f, _nodeFactory, skills); InitializeOffensiveStats(f); InitializeDefensiveStats(f); ConfigurationStats = await ConfigurationStatsViewModel.CreateAsync(_observableCalculator, _nodeFactory); AddConfigurationStat(f.StatBuilders.Level, Entity.Enemy); GainOnActionStats = await GainOnActionStatsViewModel.CreateAsync(_observableCalculator, _nodeFactory); SharedConfiguration = SharedConfigurationViewModel.Create(_nodeFactory, f); IndependentResultStats = await IndependentResultStatsViewModel.CreateAsync(_observableCalculator, _nodeFactory); PassiveTreeConnections = await PassiveTreeConnectionsViewModel.CreateAsync(_observableCalculator, _nodeFactory); AttributesInJewelRadius = new AttributesInJewelRadiusViewModel(await gameData.PassiveTree, f, _observableCalculator); }