public void Save()
{
var xLevels = new XElement(XmlKeys.Levels);
foreach (var l in _mLevels)
xLevels.Add(l.Export());
var xDoc = new XDocument();
xDoc.Add(xLevels);
#if XBOX360
IAsyncResult result;
try
{
if (!mDeviceSelected)
{
StorageDevice.BeginShowSelector(((ControllerControl)mControls).ControllerIndex, this.SelectDevice, null);
mDeviceSelected = true;
}
}
catch (Exception e)
{
string errTemp = e.ToString();
return;
}
if (device == null || !device.IsConnected)
{
return;
}
try
{
result = device.BeginOpenContainer("Mr Gravity", null, null);
result.AsyncWaitHandle.WaitOne();
container = device.EndOpenContainer(result);
//container.DeleteFile("TrialLevelList.xml");
//container.DeleteFile("LevelList.xml");
Stream stream;
if (container.FileExists("LevelList.xml"))
{
container.DeleteFile("LevelList.xml");
}
stream = container.CreateFile("LevelList.xml");
XmlSerializer serializer = new XmlSerializer(typeof(SaveGameData));
SaveGameData data = new SaveGameData();
data.SaveData = xLevels;
serializer.Serialize(stream, data);
stream.Close();
container.Dispose();
result.AsyncWaitHandle.Close();
}
catch (Exception e)
{
string execTemp = e.ToString();
return;
}
#else
xDoc.Save("..\\..\\..\\Content\\Levels\\Info\\LevelList.xml");
#endif
}