public static async Task <IndependentResultStatsViewModel> CreateAsync( ObservableCalculator observableCalculator, CalculationNodeViewModelFactory nodeFactory) { var vm = new IndependentResultStatsViewModel(nodeFactory); await vm.InitializeAsync(new ExplicitlyRegisteredStatsObserver(observableCalculator)); return(vm); }
private ComputationViewModel(ObservableCalculator observableCalculator, ComputationSchedulerProvider schedulers) { _observableCalculator = observableCalculator; _nodeFactory = new CalculationNodeViewModelFactory(observableCalculator, schedulers.Dispatcher); var modifierNodeFactory = new ModifierNodeViewModelFactory(observableCalculator, _nodeFactory); OffensiveStats = new ResultStatsViewModel(_nodeFactory, modifierNodeFactory); DefensiveStats = new ResultStatsViewModel(_nodeFactory, modifierNodeFactory); }
public AttributesInJewelRadiusViewModel(PassiveTreeDefinition tree, IBuilderFactories builders, ObservableCalculator calculator) { _tree = tree; _builders = builders; _calculator = calculator; _strengthStatBuilder = new Lazy <IStatBuilder>(() => _builders.StatBuilders.Attribute.Strength); _dexterityStatBuilder = new Lazy <IStatBuilder>(() => _builders.StatBuilders.Attribute.Dexterity); _intelligenceStatBuilder = new Lazy <IStatBuilder>(() => _builders.StatBuilders.Attribute.Intelligence); }
public static async Task <ComputationViewModel> CreateAsync( GameData gameData, IBuilderFactories builderFactories, ObservableCalculator observableCalculator, ComputationSchedulerProvider schedulers, ObservableSet <IReadOnlyList <Skill> > skills) { var vm = new ComputationViewModel(observableCalculator, schedulers); await vm.InitializeAsync(gameData, builderFactories, skills); return(vm); }
private static void SetupSut( NodeCollection <IStat> nodeCollection, ICollection <IStat> addedStats, ICollection <IStat> removedStats) { var observableCalculator = new ObservableCalculator( Mock.Of <ICalculator>(c => c.ExplicitlyRegisteredStats == nodeCollection), ImmediateScheduler.Instance); var sut = new ExplicitlyRegisteredStatsObserver(observableCalculator); sut.StatAdded += (_, s) => addedStats.Add(s); sut.StatRemoved += (_, s) => removedStats.Add(s); sut.InitializeAsync(ImmediateScheduler.Instance).GetAwaiter().GetResult(); }
private async Task InitializeFields(IEnumerable <SkillNode> skillNodes) { _gameData.PassiveNodes = skillNodes; var computationFactory = new ComputationFactory(GameData); var calculator = computationFactory.CreateCalculator(); _builderFactories = await computationFactory.CreateBuilderFactoriesAsync(); _parser = await computationFactory.CreateParserAsync(); _schedulers = new ComputationSchedulerProvider(); _observables = new ComputationObservables(_parser); _calculator = new ObservableCalculator(calculator, _schedulers.CalculationThread); }
public CalculationNodeViewModelFactory(ObservableCalculator calculator, IScheduler observerScheduler) => (_calculator, _observerScheduler) = (calculator, observerScheduler);
public ModifierNodeViewModelFactory(ObservableCalculator calculator, CalculationNodeViewModelFactory nodeFactory) { _calculator = calculator; _nodeFactory = nodeFactory; }
private AbyssalSocketObserver( ObservableCalculator observableCalculator, IScheduler observeScheduler, IStat abyssalSocketsStat) => (_observableCalculator, _observeScheduler, _abyssalSocketsStat)
public CalculationNodeViewModelFactory( ModifierNodeViewModelFactory modifierNodeFactory, ObservableCalculator calculator, IScheduler observerScheduler) => (_modifierNodeFactory, _calculator, _observerScheduler) =
public ModifierNodeViewModelFactory(ObservableCalculator calculator) { _calculator = calculator; }