private void saveDraftButton_Click(object sender, EventArgs e)
        {
            var saveFile = new SaveFileDialog();

            saveFile.Filter = "Json|*.json;";
            if (saveFile.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    File.WriteAllText(saveFile.FileName, JsonWorker.CardSerialize(viewedCard));
                }
                catch (Exception)
                {
                }
                MessageBox.Show("Draft saved");
            }
        }
Esempio n. 2
0
        private void loadDraftButton_Click(object sender, EventArgs e)
        {
            var    openDraftFileDialog = new OpenFileDialog();
            Stream fileStream          = null;

            openDraftFileDialog.Filter = "Json files (*.json, *.txt) | *.json; *.txt;";

            openDraftFileDialog.FileOk += CheckJsonFileExt;

            if (openDraftFileDialog.ShowDialog() == DialogResult.OK && (fileStream = openDraftFileDialog.OpenFile()) != null)
            {
                try
                {
                    string fileName = openDraftFileDialog.FileName;
                    using (fileStream)
                    {
                        string filelines = File.ReadAllText(fileName);
                        card = JsonWorker.CardDeserialize(filelines);
                        try
                        {
                            createNewCardButton.Enabled = false;
                            groupBox1.Show();
                            groupBox2.Show();
                            groupBox3.Show();
                            groupBox4.Show();
                            choosePictureButton.Show();

                            //fill form fields from drafft file
                            nameTextBox.Text        = card.Name;
                            descriptionTextBox.Text = card.Description;
                            picturePathLabel.Text   = card.PicturePath;
                            pictureBox1.Image       = Image.FromFile(card.PicturePath);

                            switch (card.CardType)
                            {
                            case "ClassCard":
                                doorTypeRadioButton.Checked = true;
                                cardSubTypeGroupBox.Show();
                                (cardSubTypeGroupBox.Controls[0] as RadioButton).Checked = true;
                                break;

                            case "CurseCard":
                                doorTypeRadioButton.Checked = true;
                                cardSubTypeGroupBox.Show();
                                (cardSubTypeGroupBox.Controls[1] as RadioButton).Checked = true;
                                break;

                            case "ModifierCard":
                                doorTypeRadioButton.Checked = true;
                                (cardSubTypeGroupBox.Controls[2] as RadioButton).Checked = true;
                                additionalParamsGroupBox.Controls[1].Controls[0].Text    = ((ModifierCard)card).Sign;
                                additionalParamsGroupBox.Controls[0].Controls[0].Text    = ((ModifierCard)card).Modifier.ToString();
                                cardSubTypeGroupBox.Show();
                                break;

                            case "MonsterCard":
                                doorTypeRadioButton.Checked = true;
                                (cardSubTypeGroupBox.Controls[3] as RadioButton).Checked = true;
                                additionalParamsGroupBox.Controls[0].Controls[0].Text    = ((MonsterCard)card).Level.ToString();
                                additionalParamsGroupBox.Controls[1].Controls[0].Text    = ((MonsterCard)card).Race.ToString();
                                additionalParamsGroupBox.Controls[2].Controls[0].Text    = ((MonsterCard)card).TreasureReward.ToString();
                                additionalParamsGroupBox.Controls[3].Controls[0].Text    = ((MonsterCard)card).LevelReward.ToString();
                                additionalParamsGroupBox.Controls[4].Controls[0].Text    = ((MonsterCard)card).BadStuff.ToString();
                                cardSubTypeGroupBox.Show();
                                break;

                            case "RaceCard":
                                doorTypeRadioButton.Checked = true;
                                (cardSubTypeGroupBox.Controls[4] as RadioButton).Checked = true;
                                cardSubTypeGroupBox.Show();
                                break;

                            case "GoUpALevelCard":
                                (cardSubTypeGroupBox.Controls[0] as RadioButton).Checked = true;
                                cardSubTypeGroupBox.Show();
                                break;

                            case "ItemCard":
                                treasureTypeRadioButton.Checked = true;
                                (cardSubTypeGroupBox.Controls[1] as RadioButton).Checked   = true;
                                additionalParamsGroupBox.Controls[0].Controls[0].Text      = ((ItemCard)card).Modifier.ToString();
                                additionalParamsGroupBox.Controls[1].Controls[0].Text      = ((ItemCard)card).Sign.ToString();
                                additionalParamsGroupBox.Controls[2].Controls[0].Text      = ((ItemCard)card).Restriction.ToString();
                                additionalParamsGroupBox.Controls[3].Controls[0].Text      = ((ItemCard)card).PartOfBody.ToString();
                                additionalParamsGroupBox.Controls[4].Controls[0].Text      = ((ItemCard)card).Cost.ToString();
                                (additionalParamsGroupBox.Controls[5] as CheckBox).Checked = ((ItemCard)card).IsBigItem;
                                cardSubTypeGroupBox.Show();
                                break;

                            case "OneShotTreasureCard":
                                treasureTypeRadioButton.Checked = true;
                                (cardSubTypeGroupBox.Controls[2] as RadioButton).Checked           = true;
                                (additionalParamsGroupBox.Controls[0].Controls[0] as TextBox).Text = ((OneShotTreasureCard)card).Cost.ToString();
                                cardSubTypeGroupBox.Show();
                                additionalParamsGroupBox.Show();
                                break;

                            case "Other":
                                otherTypeRadioButton.Checked = true;
                                (cardSubTypeGroupBox.Controls[0] as RadioButton).Checked = true;
                                cardSubTypeGroupBox.Show();
                                break;
                            }
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Error: Could not set some fields from file");
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
                }
            }
        }