public void AddOrUpdateCharSet(CharSet Set) { var existingSet = charSets.Where(cs => cs.Set.Id == Set.Id).FirstOrDefault(); if (existingSet != null) { existingSet.Set = Set.Clone(); GenerateImage(existingSet); helperTip.SetToolTip(existingSet.ImageView, $"{existingSet.Set.SetType} {existingSet.Set.Name}\r\nSort order {existingSet.Set.Sort}\r\nRight click for more options"); } else { var newSet = new ListedCharSet { Set = Set.Clone(), ImageView = new PixelPerfectPictureBox() }; newSet.ImageView.Size = new Size(ItemSize, ItemSize); newSet.ImageView.DoubleClick += ImageView_DoubleClick; newSet.ImageView.MouseClick += ImageView_MouseClick; newSet.ImageView.MouseMove += ImageView_MouseMove; GenerateImage(newSet); charSets.Add(newSet); viewPanel.Controls.Add(newSet.ImageView); helperTip.SetToolTip(newSet.ImageView, $"{newSet.Set.SetType} {newSet.Set.Name}\r\nSort order {newSet.Set.Sort}\r\nRight click for more options"); } }
private void MainForm_DragEnter(object sender, DragEventArgs e) { if (e.AllowedEffect == DragDropEffects.Copy && e.Data.GetDataPresent("CHARSET_1")) { CharSet set = e.Data.GetData("CHARSET_1") as CharSet; if (set.SetType == CharSetType.Sprite) { e.Effect = DragDropEffects.None; return; } elementOnDrag = new MapElement(); elementOnDrag.OverColor = Color.FromArgb(128, Color.LightBlue); elementOnDrag.PixelScale = pixelScale; elementOnDrag.Set = set.Clone(); if (set.Name.ToUpper() == "HANGAR" || set.Name.ToUpper() == "MOTHERSHIP") { elementOnDrag.ExtraByte = 2; } this.Controls.Add(elementOnDrag); elementOnDrag.BringToFront(); var coords = bgImage.PointToClient(new Point(e.X, e.Y)); PlaceElement(elementOnDrag, coords.X, coords.Y); e.Effect = DragDropEffects.Copy; } else { e.Effect = DragDropEffects.None; } }
public void UpdateCharSet(CharSet TheCharSet) { var index = animSets.FindIndex(o => o.Id == TheCharSet.Id); if (index > -1) { animSets.RemoveAt(index); animSets.Insert(index, TheCharSet.Clone()); var img = animImages[index]; var newImg = TheCharSet.GenerateImage(); if (currentIndex == index) { animPic.Image = newImg; } img.Dispose(); animImages.RemoveAt(index); animImages.Insert(index, newImg); } }
public void AddCharSet(CharSet NewSet) { animSets.Add(NewSet.Clone()); animImages.Add(NewSet.GenerateImage()); }