Пример #1
0
 private void updateTiles(Level currentLevel)
 {
     if (lastInk != currentLevel.InkColor || lastPaper != currentLevel.PaperColor)
     {
         Utils.updateZXTiles(imageList, currentLevel);
     }
     lastInk = currentLevel.InkColor;
     lastPaper = currentLevel.PaperColor;
 }
Пример #2
0
 private void removeLevelFromPanel(Level selectedLevel)
 {
     PictureBox pBoxToRemove = null;
     foreach (PictureBox pBox in layoutPanel.Controls)
     {
         if (selectedLevel.Equals(pBox.Tag))
         {
             pBoxToRemove = pBox;
             break;
         }
     }
     if (pBoxToRemove != null)
     {
         layoutPanel.Controls.Remove(pBoxToRemove);
     }
 }
Пример #3
0
 private void selectFirstLevel()
 {
     removeBorders();
     if (levels != null && levels.Count > 0)
     {
         selectedLevel = levels[0];
         selectedPBox = layoutPanel.Controls[0] as PictureBox;
         selectedPBox.BorderStyle = BorderStyle.Fixed3D;
     }
 }
Пример #4
0
        private void addToolStripButton_Click(object sender, EventArgs e)
        {
            Level newLevel = new Level();
            newLevel.NumPantalla = (byte)this.levels.Count;
            newLevel.InkColor = ColorZX.Blanco;
            newLevel.PaperColor = ColorZX.Negro;

            this.levels.Add(newLevel);
            removeBorders();

            selectedPBox = this.addLevelToPanel(newLevel);
            this.SelectedLevel = newLevel;

            UpdateCurrentLevel();
            enableToolStripButtons();
        }
Пример #5
0
        void levelCell_Click(object sender, EventArgs e)
        {
            selectedPBox = sender as PictureBox;

            removeBorders();
            selectedPBox.BorderStyle = BorderStyle.Fixed3D;

            Level clickedLevel = selectedPBox.Tag as Level;

            if (clickedLevel != selectedLevel)
            {
                selectedLevel = clickedLevel;
                OnSelectedLevelChanged(EventArgs.Empty);
                enableToolStripButtons();
            }
        }
Пример #6
0
        private PictureBox addLevelToPanel(Level level)
        {
            PictureBox levelCell;

            levelCell = new PictureBox();
            levelCell.Click += new EventHandler(levelCell_Click);
            levelCell.Tag = level;

            if (version.CPU == CPUVersion.ZX)
            {
                updateTiles(level);
            }

            viewer.ImageList = imageList;

            if (level.Equals(selectedLevel))
            {
                levelCell.BorderStyle = BorderStyle.Fixed3D;
            }
            else
            {
                levelCell.BorderStyle = BorderStyle.None;
            }
            int cellWidth = this.ClientRectangle.Width - layoutPanel.Padding.Left - layoutPanel.Padding.Right - 4 - SystemInformation.VerticalScrollBarWidth;
            levelCell.Size = new Size(cellWidth, cellWidth);
            levelCell.SizeMode = PictureBoxSizeMode.StretchImage;
            viewer.Level = level;
            levelCell.Image = viewer.GetPreview();
            levelCell.Visible = true;
            layoutPanel.Controls.Add(levelCell);

            return levelCell;
        }
Пример #7
0
 private void levelSelector_SelectedLevelChanged(object sender, EventArgs e)
 {
     currentLevel = levelSelector.SelectedLevel;
     initializeView();
 }
Пример #8
0
        internal static void updateZXTiles(Dictionary<string, Image> tiles, Level currentLevel)
        {
            Color paperColor = Utils.ColorZXToColor(currentLevel.PaperColor);
            Color inkColor = Utils.ColorZXToColor(currentLevel.InkColor);

            Console.WriteLine("updateZXTiles");

            foreach (string tileName in fileNamesBN)
            {
                System.IO.File.AppendAllText(Utils.logPath, string.Format("Fetching tile: {0}{1}", tileName, Environment.NewLine));
                Image originalImage = tiles[tileName];

                string currentKey = string.Format("ZX{0}", tileName);

                if (tiles.ContainsKey(currentKey))
                    tiles[currentKey].Dispose();

                System.IO.File.AppendAllText(logPath, string.Format("Storing tile: {0}{1}", currentKey, Environment.NewLine));
                tiles[currentKey] = createTile(originalImage, paperColor, inkColor);
            }
        }
Пример #9
0
        private void abrirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    levels = Levels.Load(ofd.FileName);
                    this.levelSelector.Levels = levels;

                    if (levels.Count > 0)
                        currentLevel = levels[0];

                    initializeView();
                }
                catch (Exception exc)
                {
                    MessageBox.Show(string.Format("Error:\n{0}", exc.ToString()), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Пример #10
0
 private void levelSelector_SelectedLevelChanged(object sender, EventArgs e)
 {
     currentLevel = levelSelector.SelectedLevel;
     initializeView();
 }