Ejemplo n.º 1
0
        private void LoadPattern()
        {
            string patternFolder = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "Pattern");

            if (!Directory.Exists(patternFolder))
            {
                return;
            }

            LearnLifeCore.FileReader.FileReader fileReader = new LearnLifeCore.FileReader.FileReader();
            if (tutorial.Border > 0)
            {
                fileReader.Border = tutorial.Border;
            }
            LearnLifeCore.Grid lifeGrid = fileReader.ReadFile(Path.Combine(patternFolder, "tutorial", tutorial.Pattern));
            if (lifeGrid != null)
            {
                gridControl1.SetLifeGrid(lifeGrid);
                gridControl1.FitBestGridSize();

                buttonNext.Enabled  = true;
                buttonPause.Enabled = true;
                buttonStart.Enabled = true;
            }
        }
Ejemplo n.º 2
0
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (e.Node.Tag == null)
            {
                return;
            }

            if (e.Node.Tag.ToString() == "FILE" || e.Node.Tag.ToString() == "ZIP")
            {
                LearnLifeCore.FileReader.FileReader fileReader = new LearnLifeCore.FileReader.FileReader();
                fileReader.Border = LearnLifeWin.Properties.Settings.Default.ReadFileBorder;
                string filename = e.Node.Name;

                if (e.Node.Tag.ToString() == "ZIP" && e.Node.Parent.Parent.Tag.ToString() == "ZIPROOT")
                {
                    OpenFile = string.Empty;

                    filename = Path.Combine(Path.GetTempPath(), e.Node.Text);

                    ICSharpCode.SharpZipLib.Zip.ZipFile zf = null;
                    try
                    {
                        FileStream fs = File.OpenRead(e.Node.Parent.Parent.Name);
                        zf = new ICSharpCode.SharpZipLib.Zip.ZipFile(fs);

                        byte[] buffer    = new byte[4096];
                        Stream zipStream = zf.GetInputStream(zf.GetEntry(e.Node.Name));
                        using (FileStream streamWriter = File.Create(filename))
                        {
                            ICSharpCode.SharpZipLib.Core.StreamUtils.Copy(zipStream, streamWriter, buffer);
                        }
                    }
                    finally
                    {
                        if (zf != null)
                        {
                            zf.IsStreamOwner = true;                // Makes close also shut the underlying stream
                            zf.Close();                             // Ensure we release resources
                        }
                    }
                }
                else
                {
                    isModified = false;
                    OpenFile   = filename;
                }

                ReadLifeFile(fileReader, filename);

                if (e.Node.Tag.ToString() == "ZIP" && e.Node.Parent.Parent.Tag.ToString() == "ZIPROOT")
                {
                    File.Delete(filename);
                }
            }
        }
Ejemplo n.º 3
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LearnLifeCore.FileReader.FileReader fileReader = new LearnLifeCore.FileReader.FileReader();
            fileReader.Border = LearnLifeWin.Properties.Settings.Default.ReadFileBorder;
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.InitialDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "Pattern");
            openFileDialog1.Filter           = fileReader.GetFileDialogFilter();
            openFileDialog1.RestoreDirectory = true;
            openFileDialog1.CheckFileExists  = true;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                ReadLifeFile(fileReader, openFileDialog1.FileName);
                isModified = false;
                OpenFile   = openFileDialog1.FileName;
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Read a file and create grid
 /// </summary>
 /// <param name="fileReader"></param>
 /// <param name="filename"></param>
 private void ReadLifeFile(LearnLifeCore.FileReader.FileReader fileReader, string filename)
 {
     try
     {
         LearnLifeCore.Grid lifeGrid = fileReader.ReadFile(filename);
         if (lifeGrid != null)
         {
             InitNewWorld(lifeGrid);
         }
         else
         {
             throw new NotSupportedException("Fileformat is missformed.");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Could not read file from disk.\nOriginal error:\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }