예제 #1
0
        void PopulateGuiWithPuzzle(ClassicPuzzle puzzle)
        {
            PuzzleLoaded = false;

            try {
                comboBoxPuzzleDimensions.SelectedIndex = (puzzle.Width / 5) - 1;                   // there's only five valid dimensions, this should always get the right one
            } catch (ArgumentOutOfRangeException) {
                comboBoxPuzzleDimensions.SelectedIndex = 0;
            }

            checkBoxFreeMode.Checked = puzzle.Mode == 0x02;
            checkBoxCleared.Checked  = (puzzle.Unknown2 & 0x01) == 0x00;
            textBoxCleartime.Text    = puzzle.ClearTime.ToString();
            textBoxName.Text         = puzzle.PuzzleName.Trim('\0');
            textBoxPack.Text         = puzzle.PackName.Trim('\0');

            try {
                comboBoxPackLetter.SelectedIndex = puzzle.PackLetter;
            } catch (ArgumentOutOfRangeException) {
                comboBoxPackLetter.SelectedIndex = 0;
            }
            try {
                comboBoxPackNumber.SelectedIndex = puzzle.PackNumber;
            } catch (ArgumentOutOfRangeException) {
                comboBoxPackNumber.SelectedIndex = 0;
            }

            PuzzleLoaded = true;
        }
예제 #2
0
        private void buttonImport_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog = new System.Windows.Forms.OpenFileDialog();

            dialog.Filter = "Picross Puzzle (*.picross)|*.picross|Any File|*.*";
            DialogResult result = dialog.ShowDialog();

            if (result == DialogResult.OK)
            {
                var infile = System.IO.File.ReadAllBytes(dialog.FileName);

                if (IsSelectedPuzzleOriginalPuzzle)
                {
                    var puzzle = new OriginalPuzzle(infile, 0x0);
                    puzzle.Type = 0x03;
                    Save.OriginalPuzzles[comboBoxPuzzleSlot.SelectedIndex - 100] = puzzle;
                    comboBoxPuzzleSlot.Items[comboBoxPuzzleSlot.SelectedIndex]   = puzzle;
                    PopulateGuiWithPuzzle(puzzle);
                }
                else
                {
                    var puzzle = new ClassicPuzzle(infile, 0x0);
                    puzzle.Type = 0x02;
                    Save.ClassicPuzzles[comboBoxPuzzleSlot.SelectedIndex]      = puzzle;
                    comboBoxPuzzleSlot.Items[comboBoxPuzzleSlot.SelectedIndex] = puzzle;
                    PopulateGuiWithPuzzle(puzzle);
                }

                WriteGuiPuzzleDataToSave(sender, e);
            }
        }