private void AddPlayer(object param) { signInVM.UsersList.Add(new User(NameTextBox, ImageSource.UriSource.ToString())); actions.SerializeUsers("User.xml", signInVM); SignIn signIn = new SignIn(); App.Current.MainWindow.Close(); App.Current.MainWindow = signIn; signIn.Show(); }
private void WinGame(Category category) { switch (category) { case Category.AllCategories: currentUser.Stats.WonGamesOnAllCategories += 1; break; case Category.Rivers: currentUser.Stats.WonGamesOnRivers += 1; break; case Category.Cars: currentUser.Stats.WonGamesOnCars += 1; break; case Category.Movies: currentUser.Stats.WonGamesOnMovies += 1; break; case Category.Flowers: currentUser.Stats.WonGamesOnFlowers++; break; default: break; } currentUser.Stats.TotalWonGames += 1; foreach (var savedUser in signInVM.UsersList) { if (savedUser.Name == currentUser.Name) { savedUser.Stats = currentUser.Stats; } } actions.SerializeUsers("User.xml", signInVM); }
private void DeleteMethod(object param) { int index = 0; foreach (var user in UsersList) { if (user.Name == selectedUser.Name) { UsersList.RemoveAt(index); break; } ++index; } SelectedUser = null; CanExecuteDeleteCommand = false; CanExecutePlay = false; actions.SerializeUsers("User.xml", this); }
public void AddUserAndPlay(object param) { if (!HangmanValidators.CanAddUser(NameTextBox, users)) { MessageBox.Show("This nickname is taken."); return; } int imageIndex = images.Emojis.IndexOf(ImageSource); User user = new User(NameTextBox, imageIndex); user.GameProperty = new Game(); users.List.Add(new User(NameTextBox, imageIndex)); serializationActions.SerializeUsers(Constants.UsersFile, users); CategoryWindow categoryWindow = new CategoryWindow(); CategoryViewModel categoryVM = new CategoryViewModel(user, true); categoryWindow.DataContext = categoryVM; App.Current.MainWindow.Close(); App.Current.MainWindow = categoryWindow; categoryWindow.Show(); }
public HomeViewModel(User user, bool resumeGame = false) { users = serializationActions.DeserializeUsers(Constants.UsersFile); words = serializationActions.DeserializeWords(Constants.WordsFile); foreach (var userInList in users.List) { if (userInList.Name == user.Name) { users.List.Remove(userInList); users.List.Add(user); break; } } serializationActions.SerializeUsers(Constants.UsersFile, users); users = serializationActions.DeserializeUsers(Constants.UsersFile); this.user = user; if (!resumeGame) { PickWord(); CreateWordOnDisplay(user.GameProperty.WordToGuess); delay = 61; } else { switch (user.GameProperty.CategoryProperty) { case Models.Category.All: AllIsSelected = true; break; case Models.Category.Cars: CarsIsSelected = true; break; case Models.Category.Movies: MoviesIsSelected = true; break; case Models.Category.States: StatesIsSelected = true; break; case Models.Category.Mountains: MountainsIsSelected = true; break; case Models.Category.Rivers: RiversIsSelected = true; break; default: break; } delay = user.GameProperty.SecondsRemaining; firstCreation = false; this.resumeGame = resumeGame; } HangImageSource = images.Hangs[user.GameProperty.MistakesProperty]; timer.Tick += new EventHandler(TimerTick); StartTimer(delay); }
public SignInViewModel(Users users) { this.users = users; serializationActions.SerializeUsers(Constants.UsersFile, users); ImageSource = users.List.Count > 0 ? new BitmapImage(new Uri(images.Emojis.ElementAt(users.List[0].ImageIndex).UriSource.ToString(), UriKind.Relative)) : new BitmapImage(new Uri(@"/Assets/Emojis/Emoji_1.png", UriKind.Relative)); }