public void AddSprite(CAlphaSprite spr) { loadedASPK.Sprites.Add(spr); lbSprites.Items.Add(spr.Name); lbSprites.SelectedItems.Clear(); }
private void MoveSpriteToIndex(int srcindex, int dstindex) { if (srcindex != -1 && dstindex != -1) { CAlphaSprite spr = loadedASPK.Sprites[srcindex]; loadedASPK.Sprites.RemoveAt(srcindex); loadedASPK.Sprites.Insert(dstindex, spr); lbSprites.Items.RemoveAt(srcindex); lbSprites.Items.Insert(dstindex, spr.Name); lbSprites.SelectedIndices.Add(dstindex); UpdateStatusLabel(); } }
private void tsmiEditImportImage_Click(object sender, EventArgs e) { openFileDialog.Filter = "PNG Files|*.png|TIFF Files|*.tiff|BMP Files|*.bmp"; openFileDialog.Multiselect = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { if (openFileDialog.FileNames.Length == 1) { DirectoryInfo dir = new DirectoryInfo(openFileDialog.FileName); Image img = Image.FromFile(openFileDialog.FileName); CAlphaSprite spr = new CAlphaSprite(img); spr.Name = dir.Name; loadedASPK.Sprites.Add(spr); lbSprites.Items.Add(spr.Name); } else { foreach (string fn in openFileDialog.FileNames) { DirectoryInfo dir = new DirectoryInfo(fn); Image img = Image.FromFile(fn); CAlphaSprite spr = new CAlphaSprite(img); spr.Name = dir.Name; loadedASPK.Sprites.Add(spr); lbSprites.Items.Add(spr.Name); } } } openFileDialog.Multiselect = false; }
/// <summary> /// Initializes a new instance of CAlphaSpritePack from a filestream. /// </summary> /// <param name="file">The filestream as it would be read by DarkEden.</param> public CAlphaSpritePack(ref FileStream file, string name = null) { if (file.Length == 0) return; if (name != null) this.Name = name; Sprites = new List<CAlphaSprite>(); byte[] _spc = new byte[2]; file.Read(_spc, 0, 2); UInt16 spritecount = BitConverter.ToUInt16(_spc, 0); for (int i = 0; i < spritecount; i++) { string str_sprname = "{0}[{1}]"; object[] objs_sprname = {this.Name, i}; CAlphaSprite spr = new CAlphaSprite(ref file, String.Format(str_sprname, objs_sprname)); Sprites.Add(spr); } this.Initialized = true; }