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();
        }
Beispiel #5
0
        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));
 }