if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
//Create Rectangle String To Write
var stringBuilder = new StringBuilder();
stringBuilder.Clear();
stringBuilder.Append("\n");
foreach(var r in newAnim.imageRectArray)
{
stringBuilder.Append(
String.Format("\t{0},{1},{2},{3}\n", r.X, r.Y, r.Width, r.Height)
);
}
stringBuilder.Append("\t");
var rectElement = new XElement("Rect", stringBuilder.ToString());
//Create Vector2 String To Write
stringBuilder.Clear();
stringBuilder.Append("\n");
foreach (var v in newAnim.imageVector2Array)
{
stringBuilder.Append(
String.Format("\t{0},{1}\n", v.X, v.Y)
);
}
stringBuilder.Append("\t");
var vectElement = new XElement("Vector2", stringBuilder.ToString());
//Create Number Of Rects Array
stringBuilder.Clear();
stringBuilder.Append("\n");
foreach (var nr in currentNumberOfRects)
{
stringBuilder.Append(
String.Format("\t{0}\n", nr)
);
}
stringBuilder.Append("\t");
var numberOfRectsElement = new XElement("Number_Of_Collision_Rects", stringBuilder.ToString());
//Create The Final Collision Rect String To Write
stringBuilder.Clear();
stringBuilder.Append("\n");
for (int n = 0; n < NumberOfFrames; n++)
foreach (var cr in collisionRects[n])
{
stringBuilder.Append(
String.Format("\t{0},{1},{2},{3},{4}\n", cr.X, cr.Y, cr.Width, cr.Height, cr.CutRectangle)
);
}
stringBuilder.Append("\t");
var colRectElement = new XElement("CollisionRect", stringBuilder.ToString());
XDocument document = new XDocument(
new XElement("XnaContent",
new XElement("Asset", new XAttribute("Type", "ProjectWitch.Animation"),
new XElement("Filename", newAnim.textureFileName),
new XElement("Current_Frame", currentFrame.ToString()),
new XElement("Number_Of_Frames", NumberOfFrames),
new XElement("Max_Time_Per_Frame", maxTimePerFrame.ToString()),
new XElement("Animate_Once", listBox2.SelectedIndex.ToString()),
new XElement("Using_Image", usingImageTextBox.Text),
rectElement,
vectElement,
numberOfRectsElement,
colRectElement
)
)
);