public static MainSkillSelectionViewModel Create( SkillDefinitions skillDefinitions, IBuilderFactories builderFactories, CalculationNodeViewModelFactory nodeFactory, ObservableSet <IReadOnlyList <Skill> > skills) { var vm = new MainSkillSelectionViewModel(skillDefinitions, builderFactories, nodeFactory); vm.Initialize(skills); 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); }
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); }