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); }
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); }
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()); }
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()); } } } } } } } }