public static string SerializeToXML(string filepath, SourceRectangle[] rects) { try { XmlSerializerNamespaces xsn = new XmlSerializerNamespaces(); xsn.Add("", ""); XnaContent xnacontent = new XnaContent(new Asset(rects)); XmlSerializer serializer = new XmlSerializer(typeof(XnaContent)); TextWriter textWriter = new StreamWriter(filepath); serializer.Serialize(textWriter, xnacontent, xsn); textWriter.Close(); return filepath; } catch (Exception e) { return "ERROR: " + e.Message; } }
public Asset(SourceRectangle[] rectangles) { Rectangles = rectangles; }
private bool Collision(MouseEventArgs mouse, SourceRectangle rect, double zoom = 1) { if (mouse.X > zoom * (rect.X + rect.Width) || mouse.X < zoom * rect.X || mouse.Y > zoom * (rect.Y + rect.Height) || mouse.Y < zoom * rect.Y) return false; return true; }
private SourceRectangle selectRect(SourceRectangle rect) { listBox.SelectedItem = rect.Name; return null; }
private void saveToolStripMenuItem_Click(object sender, EventArgs e) { if (saveFileDialog.ShowDialog() == DialogResult.OK) { fileToSave = saveFileDialog.InitialDirectory + saveFileDialog.FileName; SourceRectangle[] rects = new SourceRectangle[rectanglesDictionary.Count]; int i = 0; foreach (KeyValuePair<string, SourceRectangle> item in rectanglesDictionary) rects[i++] = item.Value; XML.SerializeToXML(fileToSave, rects); } }
private void LoadImageFromRectangle(SourceRectangle rect) { foreach (string filename in imageFilesList) { if (rect.Filename.Equals(Path.GetFileNameWithoutExtension(filename))) { LoadImageFromPath(filename); } } }
private SourceRectangle getSelectedRect() { if (listBox.SelectedValue != null) { // get Name of selected Rectangle string selectedName = (string)listBox.SelectedValue; // Set selected Rectangle selectedRectangle = rectanglesDictionary[selectedName]; // Update Properties Grid propertiesGrid.SelectedObject = selectedRectangle; // Load Image LoadImageFromRectangle(selectedRectangle); return selectedRectangle; } return null; }