Exemplo n.º 1
0
        public static CharacterSet CharacterColorSetFromZipColorSetChar(Stream fileStream, CharacterConfig.CHARACTERS characterType)
        {
            CharacterSet cs = new CharacterSet(characterType);

            var zip = new ZipArchive(fileStream, ZipArchiveMode.Read);

            foreach (var entry in zip.Entries)
            {
                using (var stream = entry.Open())
                {
                    for (int i = 0; i < 10; i++)
                    {
                        var charCode = CharacterConfig.CodeFromCharacterEnum(characterType);
                        var fileName = charCode + @"/" + "0" + i.ToString() + ".col";
                        if (entry.FullName == fileName)
                        {
                            using (var textSubStream = new StreamReader(stream))
                            {
                                var colText = textSubStream.ReadToEnd();
                                cs.characterColors[i] = Character.CharacterFromColFormat(colText);
                            }
                        }
                    }
                }
            }
            return(cs);
        }
Exemplo n.º 2
0
        private PictureBox GetBoxByName(string boxName)
        {
            var        shortcut = CharacterConfig.CodeFromCharacterEnum(currentCharacterType);
            var        s        = shortcut + boxName;
            PictureBox mybox    = (PictureBox)this.Controls.Find(s, true)[0];

            return(mybox);
        }
Exemplo n.º 3
0
        public string ToColFormat()
        {
            StringBuilder s = new StringBuilder();

            s.Append(CharacterConfig.CodeFromCharacterEnum(characterType));
            s.Append(System.Environment.NewLine);
            s.Append("SPRITE" + System.Environment.NewLine);
            s.Append(this.sprite.ToColFormat() + System.Environment.NewLine);
            s.Append("PORTRAIT" + System.Environment.NewLine);
            s.Append(this.portrait.ToColFormat());
            return(s.ToString());
        }
Exemplo n.º 4
0
        private void saveGameColorSetAsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Displays a SaveFileDialog so the user can save the Image
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();

            saveFileDialog1.Filter = "zip files (*.zip)|*.zip|All files (*.*)|*.*";
            saveFileDialog1.Title  = "Save a colorset";
            saveFileDialog1.ShowDialog();

            // If the file name is not an empty string open it for saving.
            if (saveFileDialog1.FileName != "")
            {
                // Saves the Image via a FileStream created by the OpenFile method.
                using (System.IO.FileStream fs =
                           (System.IO.FileStream)saveFileDialog1.OpenFile())
                {
                    using (var archive = new ZipArchive(fs, ZipArchiveMode.Create, true))
                    {
                        // for each character
                        // create an folder with the 3 letter code
                        // in that folder
                        // for each of the 10 colors, create a a file
                        // 01.col, 02.col... 10.col

                        foreach (var charType in gameSet.characterDictionary.Keys)
                        {
                            var charCode = CharacterConfig.CodeFromCharacterEnum(charType);
                            // add colorset key
                            var keyentry = archive.CreateEntry(charCode + @"/" + "NeutralKey.png");
                            using (var entryStream = keyentry.Open())
                            {
                                var b = gameSet.characterDictionary[charType].GenerateSpriteKey();
                                if (charType == CharacterConfig.CHARACTERS.Dictator)
                                {
                                    b = gameSet.characterDictionary[charType].GenerateKey("psychopunch");
                                }
                                b.Save(entryStream, System.Drawing.Imaging.ImageFormat.Png);
                            }

                            keyentry = archive.CreateEntry(charCode + @"/" + "PortraitKey.png");
                            using (var entryStream = keyentry.Open())
                            {
                                var b = gameSet.characterDictionary[charType].GeneratePortraitKey();
                                b.Save(entryStream, System.Drawing.Imaging.ImageFormat.Png);
                            }

                            keyentry = archive.CreateEntry(charCode + @"/" + "LossKey.png");
                            using (var entryStream = keyentry.Open())
                            {
                                if (charType != CharacterConfig.CHARACTERS.Gouki)
                                {
                                    var b = gameSet.characterDictionary[charType].GenerateLossKey();
                                    b.Save(entryStream, System.Drawing.Imaging.ImageFormat.Png);
                                }
                            }

                            for (int i = 0; i < 10; i++)
                            {
                                var entry = archive.CreateEntry(charCode + @"/" + "0" + i.ToString() + ".col");

                                using (var entryStream = entry.Open())
                                {
                                    using (var streamWriter = new StreamWriter(entryStream))
                                    {
                                        streamWriter.Write(gameSet.characterDictionary[charType].characterColors[i].ToColFormat());
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }