public void Save()
{
if (!Modified)
{
return;
}
List <string> output = new List <string>();
FileComponent lastComponent = null;
for (int i = 0; i < fileStructure.Count; i++)
{
string s = null;
FileComponent d = fileStructure[i];
if (d.Fake)
{
s = null;
}
else
{
s = "";
if (lastComponent != null && !lastComponent.EndsLine)
{
s = output[output.Count - 1];
output.RemoveAt(output.Count - 1);
}
s += d.GetString();
if (d.EndsLine)
{
s += fileStructureComments[i];
}
}
if (s != null)
{
output.Add(s);
}
if (d is Data)
{
(d as Data).Modified = false;
}
lastComponent = d;
}
File.WriteAllLines(FullFilename, output);
Modified = false;
}