コード例 #1
0
        private void btnSaveCharacter_Click(object sender, RoutedEventArgs e)
        {
            Character c;
            string    option = cboxType.Text;

            switch (option)
            {
            case "Cleric":
                c      = new Cleric();
                c.Type = "Cleric";
                break;

            case "Fighter":
                c      = new Fighter();
                c.Type = "Fighter";
                break;

            case "Rogue":
                c      = new Rogue();
                c.Type = "Rogue";
                break;

            case "Wizard":
                c      = new Wizard();
                c.Type = "Wizard";
                break;

            default:
                c = null;
                MessageBox.Show("You must select a type");
                break;
            }

            c.Name  = txtCharacterName.Text;
            c.Armor = cboxArmor.Text;

            string weapon = cboxFirstWeapon.Text;

            switch (weapon)
            {
            case "Sword":
                c.PersonalWeapon = new Sword(15);
                break;

            case "Axe":
                c.PersonalWeapon = new Axe(20);
                break;

            case "Mace":
                c.PersonalWeapon = new Mace(30);
                break;

            default:
                c.PersonalWeapon = null;
                MessageBox.Show("Please select your weapon.");
                break;
            }
            if (c != null)
            {
                FileManager.AddCharacter(c);
                MessageBox.Show("Saved character");
            }
            else if (txtCharacterName.Text == "" || cboxArmor.SelectedItem == null ||
                     cboxFirstWeapon.SelectedItem == null || cboxType.SelectedItem == null)
            {
                MessageBox.Show("Failed to save non existent character");
            }

            txtCharacterName.Text        = "";
            cboxArmor.SelectedItem       = null;
            cboxFirstWeapon.SelectedItem = null;
            cboxType.SelectedItem        = null;
        }