public PuzzleBoardViewModel(IPuzzlesService puzzlesService, ISchedulerProvider scheduler, IUserService userService) { _cells = new ObservableCollection<CellEmptyViewModel>(); _words = new ObservableCollection<WordViewModel>(); _scheduler = scheduler; _userService = userService; _puzzlesService = puzzlesService; CreateCellsForBoard(); }
public PuzzleBoardViewModel(int puzzleId, IPuzzlesService puzzlesService = null, IUserService userService = null) { _cells = new ObservableCollection <EmptyCellViewModel>(); CreateCellsForBoard(); PuzzlesService = puzzlesService ?? Locator.Current.GetService <IPuzzlesService>(); UserService = userService ?? Locator.Current.GetService <IUserService>(); //Todo: Load words based on Id. Can the order of steps here have more smarts? _selectedWord = this.WhenAny(vm => vm.CurrentSelectedCell, x => x.Value) .Where(x => x != null) .Select(x => SetLikelyWordMatchOnBoardForSelectedCell(x)) .ToProperty(this, x => x.SelectedWord); _selectedWordLength = this.WhenAny(vm => vm._selectedWord, x => x.Value) .Where(x => x.Value != null) .Select(x => x.Value.Cells.Count) .ToProperty(this, x => x.SelectedWordLength); }
public GameDataService(IPuzzleWebApiService puzzleWebApiService, IPuzzlesService puzzlesService) { _puzzleWebApiService = puzzleWebApiService; _puzzlesService = puzzlesService; }
public TestPuzzleBoardViewModel(IPuzzlesService puzzlesService, ISchedulerProvider scheduler, IUserService userService) : base(puzzlesService, scheduler, userService) { }