Esempio n. 1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string err_msg = "Fill in all empty fields";

            foreach (StackPanel sp in asiPanels)
            {
                if (sp.Visibility.Equals(Visibility.Hidden))
                {
                    break;
                }
                if ((sp.Children[1] as ComboBox).SelectedItem is null)
                {
                    MessageBox.Show(err_msg);
                    return;
                }
            }
            foreach (ComboBox cb in asiComboBoxes.Union(featComboBoxes.Union(featASIComboBoxes)))
            {
                if (cb.SelectedItem is null)
                {
                    MessageBox.Show(err_msg);
                    return;
                }
                else if (cb.SelectedItem.Equals(null))
                {
                    MessageBox.Show(err_msg);
                    return;
                }
            }

            cc.SetStats(tempScores);

            HashSet <string> selectedFeats = new HashSet <string>();

            foreach (ComboBox cb in featComboBoxes)
            {
                selectedFeats.Add(cb.SelectedItem.ToString());
            }
            cc.AddFeat(selectedFeats);

            PlayerSheetWindow playerSheet = new PlayerSheetWindow(cc);

            playerSheet.Show();
            Window window = this.Parent as Window;

            window.Close();
        }
Esempio n. 2
0
        private void RandomCharacter(object sender, RoutedEventArgs e)
        {
            string characterName = lCharacterName.Text;
            bool   validLevel    = int.TryParse(lCharacterLevel.Text, out int characterLevel);

            if (characterLevel < 1 || characterLevel > 20)
            {
                validLevel = false;
            }

            if (validLevel && !string.IsNullOrEmpty(characterName))
            {
                CharacterController cc = new CharacterController();
                cc.RandomCharacter(characterLevel, characterName);
                PlayerSheetWindow playerSheet = new PlayerSheetWindow(cc);
                playerSheet.Show();
            }
        }
Esempio n. 3
0
        private void Next(object sender, RoutedEventArgs e)
        {
            string err_msg = "Fill in all empty fields.";

            if ((selectedClass is null || selectedRace is null) ||
                (selectedRace.GetType() == typeof(IRace) || selectedClass.GetType() == typeof(IClass)) ||
                (ArtisanTools.IsVisible && ArtisanTools.SelectedItem is null) ||
                (ExtraLanguage.IsVisible && ExtraLanguage.SelectedItem is null) ||
                (RaceProf1.IsVisible && (RaceProf1.SelectedItem is null || RaceProf2.SelectedItem is null)) ||
                (ClassSkill1.SelectedItem is null || ClassSkill2.SelectedItem is null) ||
                (ClassSkill3.IsVisible && ClassSkill3.SelectedItem is null) ||
                (ClassSkill4.IsVisible && ClassSkill4.SelectedItem is null))
            {
                MessageBox.Show(err_msg);
                return;
            }

            cc.SetRaceAndClass(selectedRace, selectedClass);
            cc.AddProficiency(selectedClassProfs.Union(selectedRaceProfs));
            if (cc.GetPlayerLevel() > 1)
            {
                int ASICount = cc.GreaterLevel();
                if (ASICount > 0)
                {
                    this.NavigationService.Navigate(new CharacterGeneratorASIPage(cc, ASICount));
                    return;
                }
            }
            // navigate to final screen
            cc.RollStats();
            PlayerSheetWindow playerSheet = new PlayerSheetWindow(cc);

            playerSheet.Show();
            Window window = this.Parent as Window;

            window.Close();
        }